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

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

时间: 2024-10-23 14:45:11

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

Android性能测试 一些适用于Android Studio的代码审查和性能测试工具

导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,由于QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进行软件选用的决策. 目前,已经有很多可以监控android app 性能的工具可以供开发人员使用,如:基于Eclipse插件体系的MAT,其通过生成.hprof文件对内存泄露情况进行排查:内存检测工具APT:提供CPU利用率实时曲线图,方便对比测试内存泄露问题[图0-1] 图 0-1  通过APT实

《Android 性能测试初探》

移动测试站点推荐: https://testerhome.com/ 专项相关帖子推荐: <Android 性能测试初探>合集 移动无线应用专项测试浅谈 公开课: [腾讯课堂]Testerhome 公开课 测试工具 : 场次工具: GT http://gt.tencent.com/download.html Emmagee

Android性能测试--内存

前言: 近阶段都在探索android性能测试方面的东西,其中一个很重要的指标就是内存.对于内存,主要是一些gc是不是及时,或者说一些引用有没有及时释放,有没有导致oom或者内存持续增加导致卡顿,有没有大规模的内存抖动.近期项目由于个别模块大改,所以也就想把性能测试的东西在实际项目中实践进去,本文就是针对实践过程进行一下分享. Memory Monitor: 1.1内测实时显示监控 Memory Monitor是android studio自带的一个非常好用的一个检测内存变化的工具,他能实时监控针

Android 性能测试初探(五)

书接上文 Android 性能测试初探之 GPU(四) 前文说了的一些性能测试项大家可能都听说,接下来我们聊聊大家不常关注的测试项- 功耗 . 功耗测试主要从以下几个方面入手进行测试 测试手机安装目标APK前后待机功耗无明显差异 常见使用场景中能够正常进入待机,待机电流在正常范围内. 长时间连续使用应用无异常耗电现象 功耗测试的方法分为两类,一类为软件测试,一类为硬件测试 我们先说说软件测试,这里我们会聊聊一些DIY的思路,软件测试一般分为2类, 第一种采用市场上提供的第三方工具,如金山电池管家

Android 性能测试——Memory Monitor 工具

Android 性能测试--Memory Monitor 工具 Memory Monitor能做什么? 实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的Crash是否是因为超出了内存 Memory Monitor使用准备 开发者选项可用 USB调试开启 备注:Android Studio的Enable ADB Integration勾选(Tools/Android下). Memory Monitor面板 首先执行adb devices来确保设备可用,然后启动

Android 性能测试初探(六)

书接前文 Android 性能测试初探之功耗(五) 本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速.弱网之类的测试,但本系列文章都不去一一探讨了 流量测试,同样需要引入几个名词 中等负荷:应用正常操作 高负荷:应用极限操作 流量测试包括以下测试项: 应用首次启动流量提示 应用后台连续运行 2 小时的流量值 应用高负荷运行的流量峰值 应用中等负荷运行时的流量均值 流量测试一般都是用软件来进行的,这里我们一般分为2类: 采用市场提供的第三方

Android 性能测试 【转自渺小】

Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间.内存.CPU.GPU.功耗.流量等. 但针对 rom 版本的性能测试,一般关注功耗. 先说说应用的性能测试,对于启动时间.内存.cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT.安测试等.这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当

Android性能测试初探,合集粘贴版,转自Testerhome,卡斯著

Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间.内存.CPU.GPU.功耗.流量等. 但针对 rom 版本的性能测试,一般关注功耗. 先说说应用的性能测试,对于启动时间.内存.cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT.安测试等.这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当

Android 性能测试——Heap Viewer 工具

Android 性能测试--Heap Viewer 工具 Heap Viewer能做什么? 实时查看App分配的内存大小和空闲内存大小 发现Memory Leaks Heap Viewer使用条件 5.0以上的系统,包括5.0 开发者选项可用 Heap Viewer启动 可以直接在Android studio工具栏中直接点击小机器人启动:  还可以在Android studio的菜单栏中Tools也可以:  如果你不用Android studio,可以在SDK下的tools下的monitor程序