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

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

使用traceview进行Android性能测试(转)相关推荐

  1. Android 性能测试及弱网测试要点

    参考来源:https://www.zybuluo.com/defias/note/592309 1. 性能测试 Android性能测试分为两类: 1.一类为rom版本(系统)的性能测试 2.一类为应用 ...

  2. android 性能测试工具下载,Android性能测试 一些适用于Android Studio的代码审查和性能测试工具...

    导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,由于QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...

  3. Android 性能测试初探(一)

    Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动 ...

  4. Android性能测试-内存

    前言: 近阶段都在探索android性能测试方面的东西,其中一个很重要的指标就是内存.对于内存,主要是一些gc是不是及时,或者说一些引用有没有及时释放,有没有导致oom或者内存持续增加导致卡顿,有没有 ...

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

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

  6. Android性能测试文章汇总

    腾讯品质中心:http://tmq.qq.com/ Android客户端性能优化(魅族资深工程师毫无保留奉献):http://blog.tingyun.com/web/article/detail/1 ...

  7. Emmagee—开源Android性能测试工具

    下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee--Android性能测试工具 Em ...

  8. Android性能测试 之 APPFPS的方法

    Android性能测试APP&FPS的方法 一.环境准备 二.操作步骤 三.打开命令行工具 四.名词解释 五.纯数字看着不直观,把数据导入到excel表格中,生成折线图 一.环境准备 1.An ...

  9. android性能测试自动化,Android App自动化性能测试探究

    作者:彭海波 前言 Android App的性能测试是移动测试过程中必不可少的一个环节.在我们项目组内,性能测试的过程是这样的,先设置测试场景,然后一边手工执行场景,一边通过工具获取性能数据,为了减少 ...

最新文章

  1. tomcat startup启动不起来 但也不报错_Resin 与 Tomcat 服务器对比
  2. 增长率高达40%!物联网平台如何拉动产业马车飞速狂奔
  3. Centos 7最小化系统安装设置IP(ifconfig命令)
  4. jQuery Autocomplete
  5. 最长公共子序列_Java恶意序列化背后的历史和动机
  6. 相似图片检测:感知哈希算法之dHash的Python实现
  7. Linux系统主机之间建立信任关系
  8. java和tornado_TornadoJ
  9. SAP Cloud for Customer Cloud Application Studio的Trace功能
  10. 解决js函数中,参数不能有默认值的方法
  11. python如何实现简单的宠物管理系统
  12. 详解电子名片不一样的展示推广功能
  13. HTML 命名规范说明
  14. windows7系统取消护眼模式的方法
  15. vue3 +vite+ts实战项目添加 eslint + prettier + lint-staged 踩坑指南
  16. 求最小公倍数的三种方法(C语言)
  17. 图片太多怎么办?教你怎么批量压缩图片大小
  18. 便签纸文字提示ui布局css3
  19. 苹果M1电脑上还能运行Windows吗?苹果:留了路,看微软
  20. c语言编程输出主析取范式,c++编程:从键盘上任意输入一个主析取范式,输出与之等值的主合取范式...

热门文章

  1. Ubuntu 硬盘”分区“图文教程(用于光盘,U盘安装Ubuntu)
  2. 2018-05-02 os.path
  3. 2018-04-28
  4. 使用GDAL打开裸数据(RAW)
  5. 计算机中如何取消家长控制用户,电脑怎么设置家长控制? 家长控制功能的使用技巧...
  6. 解决unity 打包在Android 8.0上启动出现黑屏问题(Android权限弹窗问题)
  7. coco数据集大小分类_【数据集】LVIS:大规模细粒度词汇级标记数据集 ,出自FAIR ,连披萨里的菠萝粒都能完整标注...
  8. 原生html使用element组件,使用element-ui的table组件时,渲染为html格式
  9. html dom子节点,HTML DOM 节点
  10. C++小白课本练习5