Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163728
  • 博文数量: 19
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 722
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-12 14:11
个人简介

而立之年,一事无成。

文章分类

全部博文(19)

文章存档

2016年(1)

2014年(4)

2013年(14)

我的朋友

分类: Android平台

2013-12-26 17:55:53

Google已经提供了Java代码性能分析,只需以下几步便搞定:
1. 在起始处调用
    Debug.startMethodTracing("file_name");
    通常在onCreate的第一句,文件路径是/sdcard/file_name.trace
2. 在终止处调用
    Debug.stopMethodTracing();
    通常在onDestory的最后一句
3. 赋予你的程序sdcard读写权限
    android.permission.WRITE_EXTERNAL_STORAGE
    android.permission.READ_EXTERNAL_STORAGE
4. 编译执行程序,会有一点点慢,然后正常结束,check sdcard。
5. 把trace文件pull到PC,用最新的DDMS monitor打开。



由此图可以看到有两个cpu时间,Incl Cpu Time 和 Excl Cpu Time。我们知道函数执行时间包括了它本身和它所调用的其他函数的执行时间。Incl 就是本身时间和其调用函数的时间之和,Excl 就是函数本身的执行时间,不包括调用其他函数的执行时间。
此外,我们还能从Children里看到调用的各个组成部分各花去了多少时间和比例,找到占用最大的,优化它!
注:土生土长的Native调用没有被统计到method profile里,method profile只统计了java调用的时间。只有那些经由JNI调用的Native才有幸被它统计进去。
阅读(3401) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

mootooh3332013-12-30 09:39:45

很好很细致,谢谢你的分享http://www.mootooh.com.cn