启动优化工具选择

557 阅读1分钟

注意:

两种方式互相补充

正确认识工具及不同场景选择合适的工具

traceview

图形的形式展示执行时间、调用栈等

信息全面,包含所有线程

使用方式

Debug.startMethodTracing("");

Debug.stopMethodTracing();

生成文件在sd卡:Android/data/packagename/files

总结

运行时开销严重,整体都会变慢

可能会带偏优化方向

traceview和cpu profiler:traceview可以通过埋点精确的控制起始结束时间,traceview生成的文件可以通过cpu profiler来查看

systrace

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

API18以上使用,推荐TraceCompat

使用方式

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

developer.android.com/studio/comm…

TraceCompat.beginSection( "sectionName" );
TraceCompat.endSection();

cputime与walltime区别

walltime是代码执行时间

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

walltime和cputime有时候相差大的原因,比如锁冲突

总结

轻量级,开销小

直观反映cpu利用率