使用traceview进行Android性能测试
一、 TraceView工具简述 Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形界面的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。 二、 TraceView工具使用方法 TraceView有三种启动方式,下面逐一介绍: 1、 代码中启动 可以在代码中添加 Debug.startMethodTracing(“Tracelog”); Debug.stopMethodTracing(); 使用这种方式需要确保应用的AndroidMainfest.xml中的SD卡的读写权限是打开的,即 应用运行完后,会在SD卡下生成一个Tracelog文件,使用adb pull把这个文件拷贝至XP系统上,再在android sdk的tools目录下执行traceview Tracelog,则会弹出一个图形界面,通过这个图形界面可以分析出应用的性能瓶颈; 2、 Eclipse中启动 Eclipse启动traceview及其简单,在DDMS中对需要分析的应用进程点击如下按钮
在需要停止traceview的地方点击相同的按钮,则Eclipse会自动弹出类似1中的一个图形界面; 3、 adb 命令行启动 adb shell am profile start adb shell am profile stop PROCESS_ID为应用的进程号,可以用ps命令获取,TRACE_FILE为需要存储的Trcaelog文件。 执行上面的命令后,会生成对应的TRACE_FILE,使用adb pull把这个文件拷贝至XP系统上,再在android sdk的tools目录下执行traceview Tracelog,则会弹出一个图形界面,通过这个图形界面可以分析出应用的性能瓶颈; 三、 TraceView界面说明 上述步骤生成的图形界面如下所示:
四、 TraceView工具实例使用说明 本例以安居客选择一个城市中的一套房源进行收藏的过程为例,详细讲述如何使用TraceView工具。 操作步骤如下: 1、 启动Eclipse,并连接上模拟器; 2、 在模拟器上启动安居客应用,并打开DDMS,选中安居客进程; 3、 点击Start profile method按钮; 4、 在安居客中打开一套房源,等待房源成功打开后查看大图并进行收藏; 5、 点击DDMS中的stop profile method按钮,将会在 Eclipse中自动弹出一个图形界面。 按照平均调用时间(time/calls)从大到小来进行排序,见下图:
从上图可知,DetailActivityForPicture.onCreat()函数的平均调用时间为4.034秒,共调用了1次,调用时间相 对较久,再看它调用的子函数。其中,子函数DetailActivityForPicture.initInfo()的调用时间为0.9s。相对时间较 长,若需要优化性能,需要对initInfo()执行时间进行优化。 下面再来看DetailActivityForPicture.initInfo()函数的子函数的情况,如图:
进一步可分析出来initFavoriteButton()调用时间长为0.4s。依次查询下去,见下图:
DialogBoxUtil.getFavoriteWindow()和FavoritePropertyModel.函数可以进行优化。如上性能分析结果,可供开发人员参考,并有针对地进行性能优化。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341