Android 性能指标

March 22, 2016

Android

一个 App 的定位,由产品经理和老板负责;一个 App 的用户体验由 UI/UE 负责;一个 App 的性能和稳定由开发者负责。三者都是一个 App 是否能够成功的重要因素。

指标

检验一个 Androd App 的性能的好坏有很多的指标,这些指标将是一个优秀的 Android App 追求的目标,也是一个 Android 功能师追求的目标。这里尽可能的罗列与一款 Android App 性能相关的指标。排名不分先后,相互之间可能有重叠。

APK 文件大小

APK 文件大小直接影响到用户下载文件的时间和流量,对安装速度也会有影响。虽然有很多用户并不关心,也不懂,但是作为开发者,咱们可以通过与其他 App 横向对比,一般来说,一个单一的工具类应用的体积不应该比一个平台类的 App 大。比如一个天气预报应用,如果它比微信、QQ还大,那么咱们觉得它肯定有问题。

一般来说,安装文件大的应用,安装后占用的空间也会大,所有从这个角度来说,减少 APK 文件的体积也是必要的,或者把 APK 文件体积纳入到性能指标也是有一定意义的。

当然,相对与其他指标,APK 文件体积并不是那么的重要,到底需不需去考量,需要跟自身当前的情况具体分析了。

安装速度

在一些第三方测评平台,可以给出 APK 的安装速度,影响安装速度的因素有很多,上面所说的安装文件体积是一方面,手机和系统本身也会影响安装速度。另外一个指标是安装失败率,这样的数据一般只有通过第三方测评公司给出。

启动时间

启动时间对于一个 App 也是很重要的。影响启动时间的因素不少,在启动的时候,加载的内容多少,加载的资源大小,都影响到了启动时间。优化的时候可以考虑从减少启动加载的内容和延迟加载入手。

CPU 占用

一般指在一个时间端内,CPU 的占用值,由最高值,最低值和平均值。这三个简单的数值并不能很好的考量一个 App 的性能,只能从一定程度上反映了 App 的运行是否出现问题。

内存占用

内存的占用并不一定是越少越好。Android 系统为每个应用设定了一个内存的上限,当你超过这个上限的时候,就会出现 OOM。当应用在前台运行的时候,在尽量避免 OOM 的情况下,要合理利用好内存,毕竟以空间换时间还是很划算的。在应用退出或在后台运行的时候,就要尽量释放内存,做一个好孩子,可以尽量避免被系统 kill 掉的风险。

GPU 占用

当 GPU 的使用量过高的情况下,优先要考虑一下是否有过度绘制。个人认为,过度绘制是高 GPU 使用的一个主要因素。过度绘制可以通过开发者选项打开查看,非常建议开发者在做 UI 的时候打开这个选项,这样可以很清楚的知道布局是否合理。

流量使用

在目前国内的环境下,移动数据流量还是比较贵的,监控以下用户的流量还是有一定必要的,特别是移动数据的流量。

耗电量

安卓系统的设置里,可以查看到每个应用的耗电量。目前不清楚这个电量的计算是否足够科学严谨,但至少从一定程度上可以反映出你的应用运行的频率。

电池温度

在一些第三方测评平台和第三方统计平台上,可以看到他们提供了一个电池温度的数据。目前猜测可能是不能准确获取耗电量,但是电池温度可以作为一个参考依据。

FPS

渲染的帧速,正常情况下,一秒钟需要渲染 60 帧,也就是每帧大概需要在 16ms 内渲染完成,如果某一帧的渲染超过了 16ms,就会导致丢帧,从视觉上就出现了卡顿的现象,或者看上去没有那么的丝滑了。

硬盘占用/DISK占用

大部分 App 在运行的过程中,或多或少需要在用户的磁盘上存储一些数据、缓存。如果只关心存,没有关心怎么管理的话,直接的影响是用户的磁盘空间被无情的占用和浪费了。一直以来,很多开发者都是这么干的。所以,有了一些第三方的清理应用,他们会帮助用户清理掉这些文件的。如果你没有足够的实力买通这些第三方清理工具,让他们把你的目录放入他们的白名单里,那么你就会发现你存放的文件莫名的没了。

当然,用户也可能自己手动删除这些文件、目录的,甚至因为你的文件异常的大,超出了用户心里接受范围,用户可能会思考一下,这个应用是否有存在的必要,你的应用可能不保。

崩溃率

很多第三方的统计工具都可以帮助收集崩溃数据并且上报,这些数据非常重要。开发者需要认真对待,并且及时处理这些问题。

--- EOF ---

添加新评论