Android性能检测

traceview的使用方法

1. 把android-sdk-windows\tools路径加到Path当中

traceview的使用方法_第1张图片

2. 编写测试代码:

[java] view plain copy
  1. packagecom.wwj.traceview;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. importandroid.os.Debug;
  7. importandroid.view.View;
  8. importandroid.widget.Toast;
  9. publicclassMainActivityextendsActivity{
  10. privateList<Integer>list1=newArrayList<Integer>();
  11. @Override
  12. publicvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. }
  16. //第一个测试方法
  17. publicvoidtest1(){
  18. //向List1对象添加10000个数
  19. for(inti=0;i<10000;i++){
  20. list1.add(i);
  21. }
  22. }
  23. //第二个测试方法
  24. publicvoidtest2(){
  25. //依次获得List对象中的元素
  26. for(inti=0;i<10000;i++){
  27. list1.get(i);
  28. }
  29. }
  30. publicvoidonClick_Test(Viewview){
  31. try{
  32. /*//获取执行test1方法前的时间点(单位:毫秒)
  33. longstart1=System.currentTimeMillis();
  34. test1();
  35. longend1=System.currentTimeMillis();
  36. //获取执行test2方法前的时间点(单位:毫秒)
  37. longstart2=System.currentTimeMillis();
  38. test2();
  39. longend2=System.currentTimeMillis();
  40. //显示测试结果
  41. Toast.makeText(this,"test1方法的执行时间:"+(end1-start1)+"毫秒\ntest2方法的执行时间:"
  42. +(end2-start2)+"毫秒",Toast.LENGTH_LONG).show();*/
  43. //获取调用test1方法之前的内存
  44. /*longstart1=Memory.used();
  45. test1();
  46. //获取调用test1方法之后的内存
  47. longend1=Memory.used();
  48. //获取调用test1方法之前的内存
  49. longstart2=Memory.used();
  50. test2();
  51. //获取调用test1方法之后的内存
  52. longend2=Memory.used();
  53. Toast.makeText(this,"test1方法占用的内存:"+(end1-start1)+"字节\ntest2方法占用的内存:"
  54. +(end2-start2)+"字节",Toast.LENGTH_LONG).show();
  55. */
  56. //开始监视方法
  57. Debug.startMethodTracing("wwj_trace");
  58. test1();
  59. test2();
  60. Debug.stopMethodTracing();
  61. }catch(Exceptione){
  62. e.printStackTrace();
  63. }
  64. }
  65. }

traceview的使用方法_第2张图片



3. 记得要设置权限:

[html] view plain copy
  1. <spanstyle="font-size:24px;"><uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  2. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span>



点击按钮后会在SD卡根目录产生一个后缀为trace的文件

traceview的使用方法_第3张图片


4. 将这个文件导出到你想要放的位置比如:c:\wwj_trace.trace

traceview的使用方法_第4张图片


5. 运行c:\wwj_trace.trace指令后出现traceview视图

traceview的使用方法_第5张图片


接触过Android有一段时间的童鞋一定会了解到traceview这个工具,本人也是近期需要进行性能检测,所以才去学习这个工具的使用,很简单,下面主要是介绍这个工具一些重要参数的意思,是根据自己的理解来写的,也不知道对不对。

各个参数的意思:

Inl Cpu Time%:方法在运行期间被调用的时间占总时间的百分比。

Incl Cpu Time:方法执行的总时间(包括调用子函数所消耗的时间):调用该方法每次所需要消耗的时间*执行次数。

Excl Cpu Time%:方法自身所消耗的时间(不包括调用其他方法所消耗的时间)占总时间的百分比。

Excl Cpu Time:方法自身所消耗的时间。

Incl Real Time%:方法真正执行的时间占总时间的百分比。

Incl Real Time:方法真正被执行的时间。

Excl Real Time%:方法真正被执行的时间占总时间的百分比

Excl Real Time:方法真正被执行的所消耗的时间

Calls+RecurCalls/Total:方法被调用的次数+重复调用的次数

Cpu Time/Call:方法每次被执行的时间

Real Time/Call:方法真实被执行的时间

更多相关文章

  1. Android自定义view七时间轴(三)---纵向的图表时间轴
  2. android 9.0获取mac地址的方法
  3. Android实现音量调节的方法
  4. android常用intent的方法
  5. Android - 浅谈获取时间
  6. 2012-7-20 android 图片叠加效果——两种方法
  7. Android右滑返回上一个界面的实现方法
  8. android中系统日期时间的获取

随机推荐

  1. Android实现书籍翻页效果--扩展版
  2. android环境搭建步骤
  3. android按键焦点事件分析(应用开发篇)
  4. Android程序工程架构
  5. [PHP]通过 PHP for Android(安卓)利用PHP
  6. adb通过TCP/IP来调试Android设备
  7. Android开发实例详解之IMF(Android(安卓)S
  8. 了解Android
  9. android标题栏的选择与使用,AppCompatActi
  10. Android下 使用百度地图sdk