移动应用 · 进阶

移动端性能:内存、电量和「快」的感觉

一句话: 在应用里,感觉由启动时间和滚动流畅度决定——而这两者都会被图片和跑在主线程上的工作破坏。

慢的三个来源

主线程上的工作。解码图片、读文件、处理列表。任何在那里超过几毫秒的操作,看起来都像卡顿。

图片。在内存里,图片的重量取决于像素数,而不是文件大小。显示前先缩小,并从缓存中释放。

不必要的网络。启动时的重复请求、频繁轮询和后台下载——全都由电量买单,而电量正是用户即便不测量也会归咎于应用的那个指标。

启动时间

把首屏不需要的初始化全部推迟:分析、第三方库、加载配置。长时间的启动画面就是第一印象,而且商店也会度量它。

度量什么

到可交互界面的时间、滚动时丢帧的比例、每千次启动的崩溃数,以及耗电量。在旧设备上测——相当一部分用户用的就是那种设备。

深入一层

从真实使用场景而不只是实验室收集性能指标,并按机型和系统版本分组。性能问题几乎总是集中在某一组设备上,而总体平均值会把它们完全掩盖。