博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
measure app android,Measure app performance
阅读量:5106 次
发布时间:2019-06-13

本文共 1505 字,大约阅读时间需要 5 分钟。

利用 Android Profiler 测量应用性能

Android Studio 3.0 采用全新的 Android Profiler 窗口取代 Android Monitor 工具。 这些全新的分析工具能够提供关于应用 CPU、内存和网络 Activity 的实时数据。 您可以执行基于样本的函数跟踪来记录代码执行时间、采集堆转储数据、查看内存分配,以及查看网络传输文件的详情。

要打开 Android Profiler 窗口,请按以下步骤操作:

点击 View > Tool Windows > Android Profiler(也可以点击工具栏中的 Android Profiler

2ef71cb2b03bf94f4c32e0ccc3f4c61e.png)。

在 Android Profiler 窗口顶部(如图 1 所示),选择您想要分析的设备 1 和应用进程 2。

如果您通过 USB 连接了某个设备但该设备未在设备列表中列出,请确保您已启用 USB 调试。

如果您使用的是 Android Emulator 或已取得 root 权限的设备,Android Profiler 将列出所有正在运行的进程,即使这些进程可能无法调试。当您发布可调试应用时,将会默认选择此进程。

Android Profiler 目前可显示共享时间线视图(图 1),其中包括带有 CPU、内存和网络使用信息实时图表的时间线。 分析器窗口还包含时间线缩放控件 3、实时更新跳转按钮 4,以及显示 Activity 状态、用户输入 Event 和屏幕旋转 Event 的 Event 时间线5。

当您启动 Android Profiler 后,它会持续收集分析数据,直至您断开设备连接或点击 Close

de88cdc965cf4a70dba026c9e52c0bce.png

android-profiler-callouts_2x.png

图 1. Android Profiler 共享时间线视图此共享时间线视图只显示时间线图表。 要使用详细分析工具,请点击与您想查看的性能数据对应的图表。 例如,要使用工具查看堆数据和跟踪内存分配,可点击 MEMORY 图表。 以下链接页面介绍了各个对应分析器窗口的更多信息。

但并不是所有分析数据均默认可见。 如果您看到一条消息,显示“Advanced profiling is unavailable for the selected process”,则需在运行配置中启用高级分析。

要详细了解各个分析工具,请参阅以下内容:

启用高级分析

要显示高级分析数据,Android Studio 必须在您编译后的应用中插入监控逻辑。 高级分析工具提供的功能包括:

Event 时间线(所有分析器窗口中均有)

分配对象数量(Memory Profiler 中)

垃圾回收 Event(Memory Profiler 中)

有关所有传输的文件的详情(Network Profiler 中)

要启用高级分析,请按以下步骤操作:

选择 Run > Edit Configurations。

在左侧窗格中选择您的应用模块。

点击 Profiling 标签,然后勾选 Enable advanced profiling。

现在重新构建并运行您的应用,即可获取完整的分析功能。 但请注意,高级分析会减缓您的构建速度,所以仅当您想要开始分析应用时才启用此功能。

注:对于原生代码,不可使用高级分析功能。 如果您的应用是纯原生应用(不含 Java Activity 类),则不可使用高级分析功能。 如果您的应用使用了 JNI,则可使用部分高级分析功能,例如 Event 时间线、GC Event、Java 分配对象和基于 Java 的网络 Activity,但不能检测基于原生的分配和网络 Activity。

转载地址:http://xeudv.baihongyu.com/

你可能感兴趣的文章
微信小程序-发起 HTTPS 请求
查看>>
WPF动画设置1(转)
查看>>
基于node/mongo的App Docker化测试环境搭建
查看>>
java web 中base64传输的坑
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
Activiti入门 -- 环境搭建和核心API简介
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
MySQL更改默认的数据文档存储目录
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>