Android优化系列
http://blog.csdn.net/mwq30123/article/category/6638876
前言
当我觉得app在启动或者某处执行比较慢时,我需要开始我的优化工作了。大多数情况下,是因为在主线程执行了耗时的操作。
Android Studio 自带的 Method Tracking 可以很直观的看到某个时间段内哪个方法花了多少时间,真的屡试不爽!!!
Method Tracking 启用
图中有个小时钟一样的图标,点一下开始跟踪,再点一下结束跟踪。
Method Tracking Captures
结束跟踪后,会出现结果,图文并茂哈~ 如下图。
上半部分是时间分配图
横向便是时间的流逝,
每一个被分隔开的水平条块都是一个Method,水平条越长,表示执行时间越长。
正确使用姿势
1.按住鼠标左右拖动查看不同区域
2.鼠标上下滚动,放大缩小
3.鼠标静置在某个黄条上,会显示占用的时间如下图
wallclock Time可以理解成执行时间。
CPU Time 占用CPU时间。
sleepInActivityCreate(),实际执行代码
private void sleepInActivityCreate() {
SystemClock.sleep(1000);
}
下半部分是时间统计表
Inclusive Time: 某函数占用的CPU时间,包含内部调用其它函数的CPU时间。
Exclusive Time: 某函数占用CPU时间,但不含内部调用其它函数所占用的CPU时间。
表的使用,无外乎就是按时间升序降序,结果同样一目了然。
我相信到这个程度的话,已经能够找到耗时的地方了。