Android 4.1性能分析的一般步骤(二)

  毕业到现在,做了一年多的Android了,一直都在负责性能这方面,感觉这方面的东西太杂了,要学的很多,要了解的也很多,而且没有一个系统的分析方法,最近一直都在玩systrace,结合自己以前学的东西,总结归纳,似乎有了点入门的感觉。

  性能大的方向有响应时间及吞吐量,Android这种智能终端上,一般响应时间比较多,主要是系统的流畅性。以前看到哪个地方不流程,都只能去打LOG分析,这个方法太低效了,不仅要明白流程,而且要在代码里添加LOG,相当低效,究其原因,还是Android没有怎个系统级的性能分析工具,不能想Linuxe kernel的oprofile跟perf一样,不能知道一段时间内函数的调用次数及时间,但Android 4.1上添加了一个systrace以后,就是为了解决这个问题。对于使用systrace的一般步骤,可以参考http://blog.csdn.net/oujunli/article/details/8138172

  既然有是分析性能,首先要确定是的是否有卡顿的现象。以滑动列表为例,看是否流畅,可以查看每帧所发的时间,具体方式是

  1、打开设置-》开发者选项-》GPU呈现模式分析。

  2、滑动列表后,使用adb shell dumpsys gfxinfo。

  3、得到Profile data in ms这三列数据,Excel做出表格,看是否有时间大于16ms(原因是Android 4.1以后加了vsync,保证每帧刷新时间为16ms),实现代码在HardwareRenderer.java中,如下图:

 

      

   然后使用systrace分析大于16ms的时候,systrace见http://blog.csdn.net/oujunli/article/details/8138172,最后使用traceview分析到底阻塞在什么地方,traceview如下图:

 

 

  traceview使用方法见下面的连接:

http://developer.android.com/tools/debugging/debugging-ui.html

  大致的步骤也就这样吧!

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值