首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不同调度程序时Android Doze的行为

使用不同调度程序时Android Doze的行为
EN

Stack Overflow用户
提问于 2017-06-28 14:06:29
回答 1查看 341关注 0票数 1

我正在为DozeAppStandBy优化我们的应用程序,并实现了一个测试应用程序,以了解系统在使用不同的后台调度程序时的行为。

但是,我对使用AlarmManagerObservable.intervall()时的行为非常困惑。

AlarmManager

我已经通过一个Activity注册了一个警报,然后通过亚行在Doze带来了这个设备。系统按预期运行,警报不被触发。

Rx-Observable.intervall

我通过一个Service启动了一个Activity,然后通过亚行在Doze带来了这个设备。Service而不是前台服务。在我看来,这个系统的表现并不像我所期望的那样,而且滴答声是连续地传递到应用程序中的。

为了证实这个设备是在Doze中的,我还用adb bugreport查看了电池的统计数据,历史学家告诉我,这个设备是在那个时间段内在Doze上的。

是否有文档说明不同的调度程序如何在DozeAppStandBy中工作?

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 08:12:44

问题似乎是adb保持CPU运行(如果设备是通过usb连接的),即使设备是通过adb命令引入doze的。

$ adb shell dumpsys battery unplug

$ adb shell input keyevent KEYCODE_POWER

adb shell dumpsys deviceidle step

ScheduledThreadPoolExecutor计划的间隔计时器(由rxjava使用)似乎不受doze模式的限制,而是通过AlarmManager do发出警报。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44804845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档