生成跟踪日志(PowerUp Android)

这篇博客文章是GCI’17下任务的一部分,这是我“通过Instrumentation Powerup应用程序生成多个跟踪日志”所需要的特殊任务,而我之前知道android studio中有哪些日志,但跟踪日志却来了作为新奇有趣的东西。 因此,该任务给我带来了很大的挑战,即尽可能多地查找跟踪日志并为PowerUp Android App生成多个跟踪日志。

首先,我必须研究跟踪日志的本质,简单地按照生成跟踪日志的指示进行操作将是错误的方法,而且我也不会浪费这么好的机会来学习有关Android Studio的新知识和独特知识,是一名Android开发人员。
我遇到的第一个资源丰富的页面是Android开发人员官方文档,其中包括有关方法跟踪的三篇主要文章,分别是
方法跟踪器(从Android Studio 3.0中删除),使用Traceview检查跟踪日志,通过检测您的应用生成跟踪日志。

我从这项研究中了解到,跟踪日志记录通常用于指定App Runner的位置,基本上是一个“您在这里”调用。 这在可能记录错误或其他信息的其他记录语句的上下文中很有用。 跟踪日志记录可帮助在代码中精确定位错误或其他级别记录的其他事件的位置。 因此,我知道跟踪日志记录在本质上可以与调试类似,但是更为复杂,它指定了用户在适当的时间范围内与应用程序交互时调用的所有方法调用。

TraceView中的StartActivity跟踪日志的屏幕截图

从报告中可以看出,活动开始时的setContentView()和LayoutInflater方法一起占用的CPU时间百分比最高,大约是日志中CPU总包含时间的90%,因为它运行时间很长在保持UX / UI的活动布局的同时,还伴随着更多的图形导入和动画处理程序,这也消耗了大量的CPU时间和功耗。 Java代码的实现非常快捷高效,并且不会占用CPU的任何实质空间,最多只占用5%的CPU时间,而运行在0.5%至2%的CPU时间上的则更多。 处理器的主要负载来自图形导入。

MapActivity

TraceView中的MapActivity跟踪日志的屏幕截图

MapActivity在分析时也给出了类似的结论。 图形加载器方法各自占用大约60%的CPU时间容量,其次是LayoutInflator(占50%-35%),然后是Widgets和Views(占16%-8%),其次是SQL调用和Animator调用,并且大多数Java最多消耗5%的CPU时间。

游戏活动

TraceView中的GameActivty跟踪日志的屏幕截图

GameActivity方法跟踪也遵循前两个跟踪日志的相同分层趋势,其中图形处理方法约占CPU处理时间的50%,而转到Java操作的最大运行时间为CPU时间的5–6%。

TraceView配置文件面板