ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

天猫Android性能优化1—AndroidStudio内置的Traceview视图

2019-10-09 17:50:56  阅读:263  来源: 互联网

标签:调用 函数 天猫 视图 AndroidStudio Traceview Time 执行 CPU


Traceview是分析Android性能不可或缺的利器。目前一般是用DDMS或者ADT里面的traceview工具来查看的。哪怕是AndroidStudio官网也是如此推荐。
一个偶然的机会,发现AndroidStudio本身可以查看Traceview文件,而且更直观。
screenshot
它分成三部分:顶部工具栏,中间的“Flamechart”显示执行过程及调用堆栈,底部的表格显示该线程中各个函数的执行时间与调用次数。

顶部工具栏

screenshot

  1. Thread: 选择你要查看哪个线程的执行情况,默认是主线程的。
  2. x-axis: Wall Clock Time就是Real Time,该函数开始执行和结束执行之间的时间差。Thread Time就是CPU Time,真实消耗CPU的时间。
  3. Color by inclusive time: 在中间的Flamechart中,默认是根据exclusive time着色的。如果根据inclusive time着色,函数执行时间越长,颜色越深,所以顶层的函数颜色是最深的。
  4. Zoom fit:缩放用的,用鼠标滚轮也能实现。
  5. Find:查找某个函数。

中间的Flamechart

screenshot
横向表示时间线上函数的执行情况,长度越长,表示函数的执行时间越长。纵向表示调用堆栈。
以上图为例。第一行只有一个main()函数,它是函数调用堆栈的root,我们的trace一直在main()函数的执行时间内。第二行比较明显的有TMHomePageView()和TMHomePageActivity.init()函数,表示在我们trace期间,main()调用了这两个函数消耗了大部分时间。其中以TMHomePageActivity.init()最为耗时。第三行则显示了TMHomePageView()和TMHomePageActivity.init()调用的函数,以此类推。

底部表格

screenshot

  1. Name: 该列表示该线程中所执行的函数。
  2. Invocation Count: 该函数的总调用次数,包括递归调用。
  3. Inclusive Time:即Real Time,函数开始执行到执行结束的时间差。
  4. Exclusive Time: 即CPU Time, 函数正在消耗CPU的时间。

总结

该视图的优点是直观,容易上手。如果你只关注某个线程上的函数执行情况,用该工具是极好的。

附录

Traceview in Android Studio官方文档:http://tools.android.com/tips/traceview

原文:大专栏  天猫Android性能优化1—AndroidStudio内置的Traceview视图


标签:调用,函数,天猫,视图,AndroidStudio,Traceview,Time,执行,CPU
来源: https://www.cnblogs.com/sanxiandoupi/p/11643292.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有