使用traceview进行Android性能测试(转)

使用traceview进行Android性能测试

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

使用traceview进行Android性能测试(转)的更多相关文章

  1. Android性能测试 | 启动时间篇

    [转载]原文地址:http://www.51testing.com/html/93/n-3724593.html 背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电 ...

  2. 腾讯优测优分享 | Android性能测试工具化实现

    腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...

  3. Android性能测试工具(一)之Emmagee

    Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

  4. 《Android 性能测试初探》

    移动测试站点推荐: https://testerhome.com/ 专项相关帖子推荐: <Android 性能测试初探>合集 移动无线应用专项测试浅谈 公开课: [腾讯课堂]Testerh ...

  5. Android性能测试

    FPS和流畅度 FPS 1.dumpsys SurfaceFlinger –latency shell 脚本通过 dumpsys SurfaceFlinger --latency 数据计算 FPS 和 ...

  6. 【腾讯开源】Android性能测试工具APT使用指南

    [腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...

  7. Android性能测试——Allocation Tracker(Device Monitor)

    Android性能测试--Allocation Tracker(Device Monitor) Allocation Tracker 能做什么? 追踪内存分配信息,按顺序排列,这样我们就能清晰看出来某 ...

  8. Android 性能测试——Heap Viewer 工具

    Android 性能测试--Heap Viewer 工具 Heap Viewer能做什么? 实时查看App分配的内存大小和空闲内存大小 发现Memory Leaks Heap Viewer使用条件 5 ...

  9. Android 性能测试——Memory Monitor 工具

    Android 性能测试--Memory Monitor 工具 Memory Monitor能做什么? 实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的Crash ...

随机推荐

  1. VBS操作JS网页元素实例

    '=========================================================================='' VBScript Source File - ...

  2. 怎么破解Wifi密码

    破解无络网络Wifi密码,让手机上Wifi不再受限. 方法/步骤 1 上网搜索并下载“Wfi万能钥匙”APK程序,然后将其安装到手机内存中.可以借助手机类管理软件将APK应用安装到手机中. 步骤阅读 ...

  3. Table隔行变色的JavaScript代码

    <table id="datatable"> <tr> <td>脚本之家</td> </tr> <tr> & ...

  4. Kubernetes 1.5.1 部署

    > kubernetes 1.5.0 , 配置文档 # 1 初始化环境 ## 1.1 环境: | 节 点  |      I P      ||--------|-------------||n ...

  5. linux文件特殊属性介绍(s,s,t)

    文件的权限有rwx这3个读.写.执行的权限.但是,怎么 /tmp权限有些奇怪?还有, /usr/bin/passwd也有些奇怪,怎么回事呢? [root@linux ~]# ls -ld /tmp ; ...

  6. openwrt默认不开启wifi

    Openwrt默认不开启wifi,要开启的话, 修改这个文件: openwrt/trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh. 滚到 ...

  7. HDU1686:Oulipo

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  8. Service的启动方式

    Service的启动方式: 两种启动模式,一种是非绑定启动模式,另一种是绑定启动模式. 一.startservice方式启动 Intent intent = new Intent(this, Firs ...

  9. nginx libpcre.so.1: cannot open shared object file

    linux 64位安装nginx后启动出错报以下错误 1 2 3 [root@localhost nginx-1.3.0]# /usr/local/nginx/sbin/nginx error whi ...

  10. onPostCreate——Activity彻底运行起来之后的回调

    记得之前想要在Activity布局完成,彻底跑起来之后,再获取当前Activity的窗口中,某个View的宽高,之前用的办法很土,弄个Handler,发个Message出来,使用sendMessage ...