博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用traceview进行Android性能测试(转)
阅读量:5135 次
发布时间:2019-06-13

本文共 1657 字,大约阅读时间需要 5 分钟。

 原文链接:http://www.cnblogs.com/Android-and-android/archive/2013/03/05/2943859.html

一、 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.函数可以进行优化。如上性能分析结果,可供开发人员参考,并有针对地进行性能优化。

转载于:https://www.cnblogs.com/qingchen1984/p/4624676.html

你可能感兴趣的文章
数论四大定理
查看>>
npm 常用指令
查看>>
20几个正则常用正则表达式
查看>>
TextArea中定位光标位置
查看>>
非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
查看>>
判断字符串在字符串中
查看>>
hdu4374One hundred layer (DP+单调队列)
查看>>
类间关系总结
查看>>
properties配置文件读写,追加
查看>>
Linux环境下MySql安装和常见问题的解决
查看>>
lrzsz——一款好用的文件互传工具
查看>>
ZPL语言完成条形码的打印
查看>>
这20件事千万不要对自己做!
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>
玩转小程序之文件读写
查看>>
HashPump用法
查看>>
cuda基础
查看>>
virutalenv一次行安装多个requirements里的文件
查看>>
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>