电池续航时间是移动用户体验中最重要的一个方面。没电的设备完全无法使用。因此,对于应用来说,尽可能地考虑电池续航时间是至关重要的。
为使应用保持节能,有三点需要注意:
让应用变得“偷懒至上”。
充分利用可帮助您管理应用耗电量的平台功能。
使用可帮助您找出耗电源头的工具。
偷懒至上
让应用变得“偷懒至上”是指设法减少和优化特别耗电的操作。“偷懒至上”设计背后的核心问题包括:减少操作:您的应用是否存在可删减的多余操作?例如,是否可以缓存已下载的数据,而不是反复唤醒无线装置来重新下载数据?
推迟操作:应用是否需要立即执行某项操作?例如,是否可以等到设备充电后再将数据备份到云端?
合并操作:工作是否可以批处理,而不是多次将设备置于活动状态?例如,是否真的有必要让数十个应用分别在不同时间打开无线装置发送消息?是否可以改为在无线装置单次唤醒期间传输消息?
在使用 CPU、无线装置和屏幕时,您应该考虑这些问题。“偷懒至上”设计通常可以很好地优化这些耗电因素。
为了帮助您获得这些成效以及其他成效,Android 平台提供了多项有助于延长电池续航时间的功能。
平台功能
从广义上讲,Android 平台提供了两种方式来帮助您优化应用的耗电量。首先,它提供了多个您可以在应用中实现的 API。您可以在后台处理指南中详细了解这些 API。
平台中还有帮助延长电池续航时间的内部机制。虽然它们不是您以编程方式实现的 API,但您仍应了解这些 API,以便您的应用能够成功地利用它们。如需了解详情,请参阅:应用待机存储分区。系统会根据用户的使用模式限制应用对 CPU 或电池等设备资源的访问。
后台限制。如果应用出现不良行为,系统会提示用户限制该应用对系统资源的访问。
电源管理限制。请参阅在特定条件下可对应用施加的电源限制列表。
此外,Android 9(API 级别 28)对省电模式进行了多项改进。施加的准确限制由设备制造商决定。例如,系统会对 AOSP 版本施加以下限制:系统会更加积极地将应用置于应用待机模式,而无需等待应用闲置。
后台执行限制适用于所有应用,与其目标 API 级别无关。
屏幕关闭时,位置信息服务可能会停用。
后台应用无法访问网络。
如需了解特定于设备的电源优化的完整详情,请参阅电源管理限制。
和往常一样,最好在省电模式处于活动状态时测试您的应用。您可以依次转到设置 > 省电模式,手动开启省电模式。
工具
要进一步利用这些功能,您可以使用平台提供的工具发现应用中功耗最大的部分。找出优化目标为成功优化迈出了重要的一步。
Android 提供了一些优化工具(包括 Profile GPU Rendering 和 Battery Historian),您可以通过这些工具确定要优化哪些方面,从而延长电池续航时间。请利用这些工具来专攻您可以应用“偷懒至上”原则的方面。