如何提升 Android 应用的性能

阅读数:2390 2015 年 6 月 22 日

话题:Android语言 & 开发架构

性能是移动应用的关键。谷歌提供了许多提升 Android 应用性能的培训资料。本文简单概括了其中的技巧和技术。

作为提升性能的一个综合方法,需要做好以下几个方面的基础工作:

将这些资料全部掌握非常困难,因此,写过多本 Android 开发相关书籍的 Shane Conder 和 Lauren Darcey提出了几项建议,包括:

  • 运用良好的编码实践
  • 不要使用主线程阻塞操作
  • 确保布局简单优雅
  • 针对设备裁剪资源
  • 使用 traceview 和其它性能分析工具

在开发应用时,这些建议可以预先提供帮助。但当应用几乎已经开发完成,却发现性能不尽人意,该怎么办呢?Tutsplus 的 Jessica Thornsby指出了三个容易检查的关键方面:

  • “过度绘制(overdraw)”:这在 GPU 绘制完背景后再在上面绘制其它图形工件时就会发生。过度绘制太多会杀死应用的性能。Android 支持“GPU 过度绘制调试”模式,高亮过度绘制区域,使用不同的颜色展示重复绘制的次数。这样,开发者就有了线索,知道应该修改哪个区域。
  • 渲染管道:UI 渲染耗时与层次中的视图数量成正比。Android SDK 层次查看器可以帮助开发者检查视图层次,找出将其扁平化的方法。它还提供了有关每个视图渲染消耗多少时间的性能分析信息。
  • 内存泄露:尽管有垃圾收集,但 Android 并不能免于内存泄露。Android Studio 中内置的 Android内存监视器允许开发者查看应用使用了多少内存。Android 设备监视器的 Heap 选项卡是另一款有助于解决内存泄露的工具。关于哪个对象真正地占用了设备内存,它提供了更多细节信息。

最后,简化应用 UI被认为是 Jeannie Liou 提出的最重要的性能提升建议。他指出,在组织视图时,使用相对布局要优于线性布局。

查看英文原文:How to Improve Android App Performance