| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android App性能监控工具 -> 正文阅读 |
|
[移动开发]Android App性能监控工具 |
一、LeakCanaryLeakCanary 想必大家都有了解一些,主要用于分析activity、fragment的内存泄露的问题。 在主module下的gradle导入如下依赖即可
在安装测试app后,点击leak的图标进入leak应用,点击 二、BlockCanaryblockcanary 最新的一个版本是2017年发布的,已经很久没维护了,但是其原理还是值得借鉴的。作者文章 导入依赖方式:
需要注意的是由于涉及到读写文件,所以还需要声明对应的权限
创建一个application,并在Androidmanifest中使用
展示dump信息的页面基于LeakCanary界面修改,可以很清楚看到哪里卡了和卡的时长 三、PerfdogPerfdog是由腾讯出品的移动平台性能分析工具,官网点我前往,工具首页如下,默认的功能有:FPS、CPU、memory三个维度的性能。
四、ProfilerPerfdog 只适合用于监控CPU,内存、FPS等情况,如果想具体排查问题,还是得用Android studio自带的Profiler profiler支持CPU、memory、network、energy维度的分析。 1、CPU在CPU下,点击record可以开始记录一段时间内的方法耗时情况 2、Memory在Memory下,可以看到每个块所占用的内存大小,如果想具体看内存分配情况,可以点击顶部的“Allocation Tracking”
3、Network可以测试网络的收发速度 五、命令1)dumpsys meminfo可以通过如下命令查看包为
这里的单位是kb,其中
2)systrace
可用参数如下
在执行完后,会自动生成一个html文件。可以用Chrome打开,在Chrome浏览器网址栏输入
点击load 按钮,选择我们的trace文件即可
更多见浏览systrace报告 3)PerfettoPerfetto 是 Android 10 中引入的全新平台级跟踪工具,你可以在perfetto界面中打开这些跟踪
更多见系统跟踪 4)Trace文件Android为我们提供了Debug工具,可以获取指定路径的trace文件,我们只需要在特定的位置加入如下代码,即可获取对应的trace文件
将trace文件pull出来后,直接把文件拖拽到Android studio中即可。区域1为各个线程的耗时情况,区域2 为对应的火焰图。 5)Hprof文件通过如下获取hprof文件,需要注意如下代码十分的耗性能
pull出来用Android studio打开如下 六、GPU1)渲染速度可以通过 设置-》开发者选项-》监控下的GPU呈现方式-》在 或者参考App性能调试详解 用命令打开。
效果如下 3)过渡绘制可通过 设置-》开发者选项-》硬件加速渲染-》调试 GPU 过度绘制-》选择显示过度绘制区域。 或者使用命令打开
效果如下: Android 将按如下方式为界面元素着色,以确定过度绘制的次数: 后记到目前为止,Google一直为Android提供新的调试工具,从monitor(已经被打入冷宫)到profiler,从systrace到Perfetto,Android studio也一直在迭代更新。目的就是让开发者能开发出更优秀的产品,也愿各位大佬不辜负Google的期望,共勉!! |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:55:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |