Android Studio TraceView性能优化分析
2017-04-23 17:05
281 查看
打开TraceView工具
打开DDMS 点击start Method Profiling 点击后会变灰 进行操作、完了之后stop Method Profiling
会出来*.trace
TraceView工具面板介绍
Traceview 面板分上下两部分
上面是时间轴面板 (Timeline Panel)
左侧显示的是线程信息
右侧黑色部分是显示执行时间段、白色是线程暂停时间段,
右侧鼠标放在上面会出现时间线纵轴,在顶部会显示当前时间线所执行的具体函数信息
下面是分析面板(Profile Panel) - 每一列内容
Inclusive time - 函数本身运行花费时间 + 函数调用其他函数时间
Exclusive time - 函数本身运行花费时间。
Calls + RecurCall/Total 调用 + 重复调用次数 / 函数总调用次数
Cpu Time/Call 总的Cpu时间与总的调用次数之比
表1-1 Profile Panel各列作用说明
列名 | 描述 |
---|---|
Name | 该线程运行过程中所调用的函数名 |
Incl Cpu Time | 某函数占用的CPU时间,包含内部调用其它函数的CPU时间 |
Excl Cpu Time | 某函数占用的CPU时间,但不含内部调用其它函数所占用的CPU时间 |
Incl Real Time | 某函数运行的真实时间(以毫秒为单位),内含调用其它函数所占用的真实时间 |
Excl Real Time | 某函数运行的真实时间(以毫秒为单位),不含调用其它函数所占用的真实时间 |
Call+Recur Calls/Total | 某函数被调用次数以及递归调用占总调用次数的百分比 |
Cpu Time/Call | 某函数调用CPU时间与调用次数的比。相当于该函数平均执行时间 |
Real Time/Call | 同CPU Time/Call类似,只不过统计单位换成了真实时间 |
如何进行具体的分析
1. 如何定位到所关心的地方?上面只是介绍了如何使用TraceView且有两种用法,但是有时使用第一种方式范围又不太精确,使用第二种添加代码的方式,可能有些地方又监听不到。这种情况可以尝试把开始或者结束放到延迟线程中,延迟一段时间在执行开始或者结束。
2. 如何查找出哪些地方比较耗时?
TraceView罗列出了是所有监听到的方法,当然也包括Android系统很多方法的耗时,如何在这么多方法里面查找到自己关心的? 可以通过TraceView 底部的find 来查找,通常Android app都是有包名的,可以先针对某些关心的列排序后,在通过包名进行一个个查找,这些就省去自己筛选出自己app 方法耗时排行的时间。
相关文章推荐
- Android Studio TraceView性能优化分析
- 性能分析工具 Android TraceView
- 正确使用 Android 性能分析工具——TraceView oschina 发布于: 2014年10月28日 (11评)
- Android应用层View绘制流程与源码分析,性能优化
- android TraceView性能分析与性能优化
- Android应用性能优化之分析工具[二]
- 【Android】开发优化之——系统性能调优工具:TrackView,Systrace,Oprofile
- Android学习之 listview加载性能优化ViewHolder
- Android 性能优化之使用MAT分析内存泄露问题
- Android利用convertView优化ListView性能
- 【Android性能优化】优化布局:ViewStub的应用
- Android性能优化工具dmtracedump
- Android 性能优化之使用MAT分析内存泄露问题
- 【Android Training UI】创建自定义的Views(Lesson 4 - 优化View的性能)
- Android性能优化之一:ViewStub
- Android筆記-Linux Kernel Ftrace (Function Trace)解析(非常强悍的性能分析方法)
- Android性能优化分析
- android之 listview加载性能优化ViewHolder
- Android性能优化之加载速度优化(一)ViewStub使用
- Android 性能优化之使用MAT分析内存泄露问题