使用不同调度程序时Android Doze中的行为
我正在尝试优化我们的应用程序,用于使用不同调度程序时Android Doze中的行为,android,doze,Android,Doze,我正在尝试优化我们的应用程序,用于Doze和AppStandBy,并实现了一个 测试应用程序,了解使用不同后台调度器时系统的行为 但是,我对使用AlarmManager和Observable.interval()时的行为感到非常困惑 AlarmManager 我通过活动注册了一个警报,然后通过adb在Doze中带来了设备。 系统按预期运行,警报未触发 可观察到的接收。间隔时间 我通过活动启动了服务,然后在Doze中通过adb带来了设备。服务不是前台服务。 在我看来,该系统的行为与预期不符,滴答声
Doze
和AppStandBy
,并实现了一个
测试应用程序,了解使用不同后台调度器时系统的行为
但是,我对使用AlarmManager
和Observable.interval()时的行为感到非常困惑
AlarmManager
我通过活动注册了一个警报,然后通过adb在Doze中带来了设备。
系统按预期运行,警报未触发
可观察到的接收。间隔时间
我通过活动
启动了服务
,然后在Doze中通过adb带来了设备。服务
不是前台服务。
在我看来,该系统的行为与预期不符,滴答声不断地传递到应用程序中
我还用adb bugreport查看了电池统计数据,历史学家告诉我,在这段时间内,该设备处于睡眠状态
是否有文档说明不同的调度程序如何在Doze
或AppStandBy
中工作
感谢您的建议。问题似乎是adb
保持CPU运行(如果设备通过usb连接),即使设备通过adb
命令进入doze
$adb外壳转储系统电池拔出
$adb外壳输入键事件键码\u电源
adb外壳转储系统设备步骤
ScheduledThreadPoolExecutor
(由rxjava使用)调度的间隔计时器似乎不受doze
模式的限制,而是通过AlarmManager
do进行报警