📜  Android 应用的电池优化

📅  最后修改于: 2022-05-13 01:58:44.895000             🧑  作者: Mango

Android 应用的电池优化

本文将解释如何在牢记电池使用的情况下创建 Android 应用程序。减少电池使用量也是 Android 开发的一个基本要素,因为这种优化最终将有助于留住用户,因为许多用户会因为电池耗尽问题而删除应用程序。

在 Android 应用程序中延长电池寿命的技巧

  • 移动数据和 wifi 的单独逻辑:您应该为移动数据和 wifi开发单独的逻辑,因为一个逻辑可能会针对移动数据进行优化,而另一个逻辑可能会针对 wifi 进行优化。
  • 检查所有后台进程:您应该调查所有后台进程。
  • 谨慎使用 GPS:不要经常依赖它;相反,仅在绝对必要时使用它。
  • 尽可能减少网络调用:缓存你的数据,下次需要时从缓存中获取。
  • 尽可能避免唤醒锁:唤醒锁是一种指示您的应用程序要求设备保持开启状态的方法。
  • 谨慎使用AlarmManager:如果使用不当,AlarmManager 可能会很快耗尽电池。
  • 批处理网络调用:如果可行,批处理网络调用以防止设备每秒唤醒。
  • 使用 WorkManager:根据官方文档,WorkManager 是一个 API,它允许您轻松计划可延迟的异步任务,即使应用程序关闭或设备重新启动,这些任务也有望运行。所有之前的 Android 后台调度 API,包括 FirebaseJobDispatcher、GcmNetworkManager 和 Job Scheduler,都是可行的,并且推荐替代 WorkManager API。 WorkManager 将其前身的功能结合到一个现代的、一致的 API 中,该 API 可以追溯到 API 级别 14,同时还考虑了电池寿命。
  • App Standby Buckets:在以前的 Android 版本中,Google 添加了 Doze 和 App Standby 模式等功能,可以延长用户的电池寿命。 App Standby Buckets 是 Android Pie(版本 9 API 级别 28)中引入的一项新功能,用于改进电池(电源)管理。然后,android 系统会根据应用程序当前所在的存储桶来限制应用程序的资源。

我应该使用哪个工具来检查 Android 应用的电池使用情况?

Battery Historian 是一个基于 HTML 的实用程序,可提供有关手机电池使用情况的信息。

用于检查整个应用程序甚至 android 项目的所有电池泄漏的工具,甚至支持追溯到 android 5 的应用程序。它使应用程序开发人员能够通过平移和平移在时间轴上可视化系统和应用程序级事件缩放功能,查看自设备上次充满电以来的各种汇总统计数据,您还可以挑选您希望显示电池计数的不同服务。它还允许您并排比较两个错误报告,显示关键电池相关参数的变化。

图 1. Battery Historian

Battery Historian 将能够为您提供以下信息:

  1. 操作 CPU 所花费的时间
  2. 屏幕的正常运行时间。
  3. 移动无线电的状态。
  4. 使用数据连接。
  5. 打盹模式的状态。
  6. 充电状态。
  7. 您的设备连接 NFC 和 Wi-Fi 所需的所有时间戳
  8. 信号强度发生了变化。
  9. 确定唤醒锁。
  10. 还有更多

结论

后台进程会消耗大量内存和电池电量。例如,隐式广播可能会启动许多已注册侦听它的后台进程,即使这些进程没有执行太多工作。这会对设备性能和用户体验产生重大影响。