Android性能分析和优化之Trace View、Dump View Hierarchy

  1. 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的层次结构,可以根据本层次结构考虑优化方式,尽可能的减少布局的层次结构。