Android性能分析和优化之Trace View、Dump View Hierarchy
- trance view。
a、打开 androd stuido -> tools -> android device Monitor (DDMS)。
b、在 DDMS中 选择进程启动 start method profiling(trace view) 见下图:
c、启动停止之后,则如下图所示:
如上图所示,在 trance view 中根据 以下3部分来定位需要优化的地方:
- Cpu Time/Call :该方法平均占用 CPU 的时间
- Real Time/Call :平均执行时间,包括切换、阻塞的时间
- Cpu Time Calls + Recur Calls/Total :调用、递归次数
根据CPU的消耗时间 和 函数调用次数,可以确定需要优化的位置,如以上截图所示。
d、定位问题时 TraceView 的使用方式:
- 从上半部分查看哪些线程执行时间长?什么时候开始执行?与主线程交错时间?
- 哪些方法的执行需要花费很长时间
点击 TraceView 中的 Cpu Time/Call,按照占用 CPU 时间从高到低排序 - 哪些方法调用次数非常频繁
点击 TraceView 中的 Calls + Recur Calls/Total ,按照调用次数从高到底排序
TraceView 的使用场景:
在发现某个页面或者操作会卡顿时,可以使用 TraceView 定位问题代码。
比如启动,加载图片列表卡顿等情况。
2、dump view hierarchy。
- dump view 可以清晰的知道 View的层次结构,可以根据本层次结构考虑优化方式,尽可能的减少布局的层次结构。