Contents
电池寿命优化... 1
Lazy First 1
平台功能... 1
工具... 2
电池寿命优化
电池寿命是手机用户体验中最重要的一件事情。没有电,任何应用都无法工作。所以,确保应用尽最大可能保证电池寿命是至关重要的事情。
保证应用节约用电的三个重要事情:
Lazy First
让你的应用Lazy First就是减少或优化那些耗电的操作。Lazy First设计的根本问题就是:
- 降低:你的应用能够砍掉多余的操作吗?例如,能否把下载的数据cache起来,而不用总是唤醒手机重新下载数据?
- 延时:应用真的需要用户马上做出回应吗?例如,能否等到手机连上电源后再把数据上传到云端?
- 合并:能够把工作捆绑到一起,而不总是把应用放入激活状态?例如,真的需要让几十个应用各自在不同的时间打开数据网络发送消息吗?能不能让这些消息在一个特定网络打开的时间段执行?
当你的应用需要用到CPU,屏幕和网络的时候,考虑以上几点。Lazy First设计能够很好的抑制这些电老虎。
为了最大化电池寿命,并帮你更高效地完成这些,Android平台为你提供了一系列功能。
平台功能
一般的说,为了应用的电池优化,Android平台提供了两类方法。第一,它为你的应用提供了一些API。请看Intelligent job 调度。
平台中有一些内部机制帮助节约电池。尽管这些不是编程可实现的API,但了解这些有利于你的应用在其基础上更好的工作。更多信息请看:
- Doze和应用standby
- 应用待机群组。系统基于应用的使用频率为应用分配不同的群组。
- 后台限制。如果应用表现出不好的行为,系统提示用户限制其对系统资源的访问。
- 电源管理限制。在某种情况下,系统对应用的限制列表。
- 测试和问题跟踪
除此之外,Android 9(API 28)对省电模式作了一些改进。厂商可以决定自己的限制方式。例如,在AOSP编译系统中,系统应用了下面的限制:
不等到应用进入idle状态,就把应用放到standby模式。
- 对所有应用使用后台限制,不管目标API多少。
- 屏幕关闭时位置服务可能会被禁用。
- 后台应用没有网络连接。
- 更全的限制,参考电源管理限制。
像以前一样,在省电模式下测试你的应用是个好主意。你可以通过设置->省电模式手动打开省电模式。
工具
通过平台提供的工具发现你的应用最耗电的部分,然后利用这些功能优化应用。寻找目标是成功优化的重要步骤。Android工具包括Profile GPU Rendering和电池历史帮你找到你可以优化的部分。利用这些工具帮你应用Lazy First原则。