启动优化工做选择

注意点:html

  两种方式 互相补充python

  正确认识工具及不一样场景选择合适 的工具app

 

一、traceview工具:工具

  图形的形式展现代码执行时间、调用栈等优化

  信息全面,包含全部线程线程

使用方式:orm

  Debug.startMethodTracing("app");//在application类里的onCreate()方法最开始点调用 ,参数做为保存文件的名字,例如:app.tracehtm

  Debut.stopMethodTracing();//在application类里的onCreate()方法里结束点调用 blog

生成文件在sd卡:Android/data/packagename/files/xxx.trace排序

文件分析:

 

 

优缺点分析:

traceview 支行时开销严重,总体都会变慢。由于他会把全部线程里的全部方法都运行一次,以及进行排序。

可能会带偏优化方向

traceview与cpu profile对比,它能够经过代码埋点,能够准确进行抓取信息,profile则须要在APP启动那一刻立刻同步启动,才能看获得结果。

 

二、systrace工具:

  结合Android内核的数据,生成Html报告

  要求API 18以上使用,为了兼容版本,推荐TraceCompat

使用方式:

  python systrace.py -t 10[other-options] [categories]

  TraceCompat.beginSection("app");//在application类里的onCreate()方法最开始点调用 ,参数做为保存文件的名字,例如:app.trace

  TraceCompat.endSection();//在application类里的onCreate()方法里结束点调用 

  在终端运行:

  python /User/Liuzhao.Future/Library/Android/sdk/platform-tools/systrace/systrace.py -b 32768 -t 5 -a com.optimize.performance -o performance.html sched gfx view wm am app

优缺点:

  轻量级,开销小

  直接反映cpu利用率

cputime 与 c区别:

  优化方向应该看的是cputime的时间,而非 walltime 时间

  walltime 是代码执行时间,cputime 是代码消耗cpu的时间(重点指标)

   举例:锁冲突 ,致使walltime 消耗时间很是长

相关文章
相关标签/搜索