前言
性能优化这个系列的文章:
1、用通俗易懂的讲解方式,讲解一门技术的实用价值
2、详细书写源码的追踪,源码截图,绘制类的结构图,尽量详细地解释原理的探索过程
3、提供Github 的 可运行的Demo工程,但是我所提供代码,更多是提供思路,抛砖引玉,请酌情cv
4、集合整理原理探索过程中的一些坑,或者demo的运行过程中的注意事项
5、用gif图,最直观地展示demo运行效果**如果觉得细节太细,直接跳过看结论即可。
本人能力有限,如若发现描述不当之处,欢迎留言批评指正。
本文接上一篇:启动速度优化
正文大纲
- DDMS
- systrace
- TraceView
- 关于过度绘制
正文
DDMS
DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik[虚拟机]调试监控服务
以前用eclipse
的时候,有个直接的入口可以打开DDMS,但是自从用了AndroidStudio,入口没了....但是其实在SDK目录内部还是有的.
打开DDMS之后:
具体有啥用,稍后再说。
systrace
systrace是sdk的一个命令,它是用python语言写的,当时用的是python2.7,但是后来python更新了3.0 谷歌却没有更新这个命令,导致我们现在要使用systrace命令,只能用python的2.7版本,正常情况下,用2.7的最新版2.7.16就行了,官网有下载的。
那么systrace命令在哪里?
前提
要使用它,首先我们要安装好python2.7.16,然后配置环境变量,直到我们能够正常使用python命令(
systrace是我们用来抓取一段时间之内的android设备上的数据指标的工具,我理解为: 设备运行日志,只不过这不是文本日志,而是一个html文件,需要使用谷歌浏览器的 chrome://tracing/插件打开。具体步骤如下:
1、打开CMD,进入systrace目录:
2、输入 python systrace.py -b 32768 -t 5 -o mytrace.html wm gfx input view sched