繁体   English   中英

如何找到代表哪个应用程序持有部分唤醒锁的AlarmManager服务

[英]How to find AlarmManager service holding partial wakelock on behalf of which app

我可以观察到我的设备无法进入睡眠状态,因为警报正在持有部分唤醒锁,但是我不知道如何代表哪个警报正在持有唤醒锁来查找应用程序。

AlarmManager提供对系统警报服务的访问。 这些使您可以计划在将来某个时间运行的应用程序。 警报响起时,系统会广播已为其注册的Intent,并在目标应用程序尚未运行时自动启动它。 设备处于睡眠状态时会保留已注册的警报(如果警报在这段时间内关闭,可以选择将其唤醒),但是如果已关闭并重新启动,则警报将被清除。 只要警报接收器的onReceive()方法正在执行,警报管理器就会保持CPU唤醒锁。 这样可以确保手机在完成广播处理之前不会进入睡眠状态。 一旦onReceive()返回,警报管理器将释放此唤醒锁。 这意味着在某些情况下,一旦onReceive()方法完成,电话就会进入休眠状态。 更多详情

https://github.com/asksven/BetterBatteryStats-Knowledge-Base/wiki/AlarmManager

您也可以查看电池历史记录 这对于查找未释放的唤醒锁和记录电池历史记录非常有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM