和你一起终身学习这里是程序員 Android
本篇文章主要介绍 Android
开发中的 性能 部分知识点,通过阅读本篇文章您将收获以下内容:
- 如何fix 过多唤醒源问题
API 中的一种机制 ,它可让开发人員在指定时间设置警报进而达到唤醒设备的目的。您的应用通过使用 或 标志调用中的种set()
方法来设置唤醒警报当触发唤醒警报后,设备將退出低功耗模式并在执行警报 )或 ) 方法的同时holds
。如果唤醒警报触发过多它们可能会耗尽设备的电池电量。
为了帮助您提高应用程序质量Android会自动监视应用程序是否存在过多的唤醒警报,并以Android vitals的形式显示信息有关如何收集数据的信息,请参阅
如果您的应用过度唤醒设備,则可以使用此页面中的指导来诊断和解决问题
2. 如何fix 过多唤醒源问题
是在Android平台的早期版本中推出的,但随着时间的推移以前需要很哆 的用例现在更好新功能提供服务(比如: )。本部分包含有关减少唤醒警报的提示但从长远来看,请考虑迁移您的应用以遵循部分中的建議
确定您在应用中安排唤醒警报的位置,并减少触发这些警报的频率这里有一些提示:
-
我们建议您将包,类或方法的名称包括在警报嘚标记名称中以便您可以轻松地在源中识别设置警报的位置。以下是一些其他提示:
- 忽略名称中的任何个人身份信息(PII)例如电子邮件地址。否则设备将记录日志
_UNKNOWN
而不是警报名称。 - 不要以编程方式获取类或方法的名称例如通过调用 ) ,因为Proguard可能会混淆它们而是使用硬物品编码一定是正品吗的字符串。
- 不要在警报标签中添加计数器或唯一标识符系统将无法聚合以这种方式设置的警报,因为它们都具囿唯一的标识符
- 忽略名称中的任何个人身份信息(PII)例如电子邮件地址。否则设备将记录日志
解决问题后,通过运行以下 命令来验证唤醒警报是否按预期工作:
该命令提供有关设备上警报系统服务状态的信息有關更多信息,请参见
仅当您的应用需要执行面向用户的操作(例如发布通知或提醒用户)时,才使用唤醒警报有关AlarmManager最佳做法的列表,請参阅
用于安排后台任务,尤其是重复的或网络后台任务建议使用 执行后台任务,因为它具有以下优点:
- 批处理-合并作业以减少电池消耗
- 持久性-如果重新启动设备,则在重新启动完成后运行计划的WorkManager作业
- 条件-作业可以根据条件运行例如设备是否正在充电或WiFi是否可用
有關更多信息,请参阅
用于安排仅在应用程序运行时才有效的计时操作(换句话说,当用户退出应用程序时应取消计时操作)在这种情況下,请使用 该类因为它更易于使用且效率更高。
至此本篇已结束。转载网络的文章小编觉得很优秀,欢迎点击阅读原文支持原創作者,如有侵权恳请联系小编删除,欢迎您的建议与指正同时期待您的关注,感谢您的阅读谢谢!