traceview的使用方法
16lz
2021-01-23
Android性能检测
traceview的使用方法
1. 把android-sdk-windows\tools路径加到Path当中
2. 编写测试代码:
[java] view plain copy- packagecom.wwj.traceview;
- importjava.util.ArrayList;
- importjava.util.List;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.os.Debug;
- importandroid.view.View;
- importandroid.widget.Toast;
- publicclassMainActivityextendsActivity{
- privateList<Integer>list1=newArrayList<Integer>();
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- //第一个测试方法
- publicvoidtest1(){
- //向List1对象添加10000个数
- for(inti=0;i<10000;i++){
- list1.add(i);
- }
- }
- //第二个测试方法
- publicvoidtest2(){
- //依次获得List对象中的元素
- for(inti=0;i<10000;i++){
- list1.get(i);
- }
- }
- publicvoidonClick_Test(Viewview){
- try{
- /*//获取执行test1方法前的时间点(单位:毫秒)
- longstart1=System.currentTimeMillis();
- test1();
- longend1=System.currentTimeMillis();
- //获取执行test2方法前的时间点(单位:毫秒)
- longstart2=System.currentTimeMillis();
- test2();
- longend2=System.currentTimeMillis();
- //显示测试结果
- Toast.makeText(this,"test1方法的执行时间:"+(end1-start1)+"毫秒\ntest2方法的执行时间:"
- +(end2-start2)+"毫秒",Toast.LENGTH_LONG).show();*/
- //获取调用test1方法之前的内存
- /*longstart1=Memory.used();
- test1();
- //获取调用test1方法之后的内存
- longend1=Memory.used();
- //获取调用test1方法之前的内存
- longstart2=Memory.used();
- test2();
- //获取调用test1方法之后的内存
- longend2=Memory.used();
- Toast.makeText(this,"test1方法占用的内存:"+(end1-start1)+"字节\ntest2方法占用的内存:"
- +(end2-start2)+"字节",Toast.LENGTH_LONG).show();
- */
- //开始监视方法
- Debug.startMethodTracing("wwj_trace");
- test1();
- test2();
- Debug.stopMethodTracing();
- }catch(Exceptione){
- e.printStackTrace();
- }
- }
- }
3. 记得要设置权限:
- <spanstyle="font-size:24px;"><uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span>
点击按钮后会在SD卡根目录产生一个后缀为trace的文件
4. 将这个文件导出到你想要放的位置比如:c:\wwj_trace.trace
5. 运行c:\wwj_trace.trace指令后出现traceview视图
接触过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:方法真实被执行的时间
更多相关文章
- Android自定义view七时间轴(三)---纵向的图表时间轴
- android 9.0获取mac地址的方法
- Android实现音量调节的方法
- android常用intent的方法
- Android - 浅谈获取时间
- 2012-7-20 android 图片叠加效果——两种方法
- Android右滑返回上一个界面的实现方法
- android中系统日期时间的获取