android使用traceView进行性能测试
来源:互联网 发布:编程的思路 编辑:程序博客网 时间:2024/04/29 21:53
在android开发中,经常会需要优化apk的性能,然而那些方法是比较耗费性能的,哪些方法又是比较占用内存的,我们很难得知,好在google为我们提供了一个工具,traceView,该工具在sdk的tools文件夹里边,只要配置了环境变量,就可以直接使用的。
traceView是Android中为开发者提供的一个可视化的工具,用来评测app中每一个方法运行的性能。
我首先编写一个简单的activity,如下:
package com.example.testtrace;import android.app.Activity;import android.os.Bundle;import android.os.Debug;import android.view.Menu;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Debug.startMethodTracing("haha"); calcuteAdd(); calcutePlus(); } public void calcuteAdd() { int sum = 0; for (int i = 0; i < 10000; i++) { sum += i; } } public void calcutePlus() { int total = 100000; for (int i = 0; i < 3000; i++) { total -= i; } } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Debug.stopMethodTracing(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }}
代码很简单,就是分别运行了加法和减法这两个方法。细心的码农可能已经发现,我在onCreate方法中运行了一个方法
Debug.startMethodTracing("haha");
在onStop方法中运行了一个方法:
Debug.stopMethodTracing();
没错,就是在onCreate方法当中开启数据的采集,在onStop方法当中停止数据的采集。其中”haha”是采集到的数据保存的文件名称.
将应用安装到sdcard上,然后再sdcard上会生成一个haha.trace文件,然后将该haha.trace文件导出,通过sdk中的tools目录下的traceview来进行分析.
我们首先将保存在sdcard根目录的”haha.trace”拷贝到本地,然后执行”traceview d:/haha.trace”,注意必须要首先配置traceview的环境变量。此时会看到下面这样一个面板:
左边就是我们运行的方法:每一个方法都有一个parent和children,其中:
parent:表示那个方法调用了这个方法
children:表示该方法调用了那些方法
在所有的方法右边有很多的选项卡,下面逐个解释其代表的含义:
1.Incl Cpu Time%
该方法运行期间所执行的时间与总时间的百分比
2.Incl Cpu Time
该方法本身运行需要的时间
3.Excl Cpu Time%
不包括子方法,也就是自己本身运行的时间占总时间的百分比
4.Excl Cpu Time
不计入该方法中调用其他方法的时间,所以看那个方法消耗性能,主要是看这个参数的值
5.Incl Real Time%
改方法本身运行的真实时间占总时间的百分比
6.Incl Real Time
该方法本身运行的时间
7.Excl Real Time%
该方法本身占用cpu的时间和该方法本身运行的时间和总时间的百分比
8.calls+recurcalls/total
该方法运行期间被调用的总次数
9.cpu time/call
运行期间,该方法运行所需要的时间
可以啊看到我们在activity中写的一个calcuteAddF方法的各个方面的指数:
ok,关于traceview的学习就到这里了,希望大家能够喜欢。
- 使用traceview进行Android性能测试
- android使用traceView进行性能测试
- traceview进行Android性能测试
- Android 性能测试之TraceView的使用
- Android 性能测试之TraceView的使用
- Android 性能测试之TraceView的使用
- Android 性能测试之TraceView
- 性能测试工具---Traceview
- android-sdk工具使用traceview性能分析
- Android 性能优化 TraceView工具的使用
- 正确使用Android性能分析工具 - TraceView
- Android学习之性能工具traceView使用
- Android性能分析工具Traceview的使用
- android性能分析之TraceView的使用
- Android 性能优化之TraceView的使用
- android TraceView使用以及listview 的性能优化测试(一) .
- android TraceView使用以及listview 的性能优化测试(一)
- android TraceView使用以及listview 的性能优化测试(二)
- C# DataTime 日期时间转换
- 输入x y z, 从小到大排序
- 黑马程序员_Java基础_线程池
- 第十一章 位置服务
- 【转】Android Framework Parser:failed to collect preference classes PermGen space
- android使用traceView进行性能测试
- 客户增强
- 关于android事件分发之常见问题
- 再见上海贵族宝贝
- Pool API
- 读More Effective C++(1)
- hihoCoder #1143 : 骨牌覆盖问题·一
- POJ3623:Best Cow Line, Gold(后缀数组)
- 决策树小结