ps:记录下平时Android开发、测试过程中的一些基本的性能测试方法。抛个砖...引个玉?
谈到Android性能检测、优化,肯定要提到年初Google发布了关于 Android性能优化典范的专题,建议开发人员观看学习(需爬墙,视频有需要可以留言发百度云地址)
那接下来说些更加直观的观察和量化界面渲染性能好坏的方式
1.使用Android官方提供的 GPU呈现模式:
这是干嘛的呢?
简单来说:就是查看当前界面是否流畅的一个可量化的工具;
原理是啥?Android系统每16毫秒发出VSYNC(垂直同步)的信号,触发对UI的渲染,
如果整个过程能保证在16毫秒以内,界面看起来就是流畅的;为什么是16毫秒?
简单的说:人眼观看60帧的画面,是很流畅的,再高理论上人眼无法察觉,16毫秒*60约等于1秒。(Android4.1黄油计划)
bilabila了一堆? 怎么用?
那条绿线就是16毫秒的标尺,高于它,也就是丢帧了,越高丢帧越厉害,界面也就越卡顿,反之其他条形线越矮,界面越流畅
2.使用Android官方提供的 调试GPU过度绘制
如何打开调试GPU过度绘制
多次绘制浪费性能,应该尽量避免多次绘制
具体如何避免?前辈们已经说得很清楚了,就不重复造轮子了... (鸿洋等很多业界大牛都写过相关的博客)
3.使用一些调测平台的提供的工具,比如腾讯GT;可以方便快速的抓取当前CPU 内存 流量 电量 帧率(流畅度) 等进行快速方便直接的查看;
【MIG专项测试组】如何准确评测Android应用的流畅度?
(下面是部分适合对Android有一定基础的小伙伴使用的方法)
4.查看GC是否频繁;
Java虚拟机在垃圾回收的时候,整个虚拟机都会停止,也就会导致界面渲染停止,
这也就要写代码时,内存分配需要注意;比如尽量避免在for循环中创建对象
使用DDMS ->Allocation tracker内存分配跟踪工具来辅助查看,来查看内存分配是否异常,有哪些地方内存使用过多等等;
5.使用 Hierarchy Viewer 检测布局是否有不必要的嵌套,从而达到更快的加载速度;
基本介绍:HierarchyViewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat。它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面;
基本使用方法:Hierarchy Viewer的使用非常简单,启动模拟器或者连接上真机后,启动hierarchyviewer.bat,Devices里列出了可以观察的设备,Windows里列出的是当前选中的设备的可以用来显示View结构的Window
说得都是简单较容易操作的一些方法...也都是抛个砖.. 欢迎大家留言交流 ^_^
有任何建议与疑问,欢迎留言交流或者Email:mox113@foxmail.com
联系客服