唤醒时间过长 Android,过多唤醒  |  Android 开发者  |  Android Developers

唤醒是 set() 方法。当唤醒闹钟触发时,设备会在执行闹钟的 部分唤醒锁定。如果唤醒闹钟触发次数过多,则可能会耗尽设备的电池电量。

为了帮助您提高应用质量,Android 会自动监控应用是否存在过多唤醒闹钟,并在 Android Vitals 中显示相关信息。如需了解如何收集数据,请参阅 Play 管理中心文档。

如果您的应用唤醒设备的次数过多,您可以使用本页中的指南来诊断和解决问题。

修复问题

WorkManager 这样的新功能且效果更好。本部分包含有关减少唤醒闹钟的提示,但从长远来看,请考虑迁移您的应用,以遵循最佳做法部分中的建议。

确定您在应用中的哪些位置调度了唤醒闹钟,并降低这些闹钟的触发频率。请参考以下提示:

我们建议您在闹钟的标记名称中包含您的软件包、类或方法名称,以便在源代码中轻松识别设置了闹钟的位置。下面提供了更多相关提示:

在名称中省去任何个人身份信息 (PII),例如电子邮件地址。否则,设备将记录 _UNKNOWN 而不是闹钟名称。

请勿以编程方式(例如通过调用

请勿向闹钟标签添加计数器或唯一标识符。系统将无法汇总以这种方式设置的闹钟,因为它们都具有唯一标识符。

解决该问题后,运行以下 ADB 命令,验证唤醒闹钟是否正常运行:

adb shell dumpsys alarm

此命令提供有关设备上的闹钟系统服务状态的信息。如需了解详情,请参阅 dumpsys。

最佳做法

仅当您的应用需要执行面向用户的操作时(例如发布通知或提醒用户),才应使用唤醒闹钟。有关 AlarmManager 最佳做法的列表,请参阅调度重复闹钟。

请勿使用 WorkManager 来调度后台任务,因为它具有以下优势:

批处理 - 将作业合并在一起,以减少耗电量

持久性 - 如果重新启动设备,则调度的 WorkManager 作业会在重新启动后运行

条件 - 作业可以根据条件(例如设备是否正在充电或 WLAN 是否可用)运行

如需了解详情,请参阅后台处理指南。

请勿使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值