我在android中创建了一个服务,它每30秒一次同时运行两个线程,每隔5分钟运行另一个线程。他们的摊位叫api。 直到我的手机连接到系统观看日志它工作正常但是当我从系统断开电话5分钟线程开始行为不端它不会在每5分钟后执行询问。
这是我的代码。
<h:selectOneMenu ...>
...
<f:ajax render="results" />
</h:selectOneMenu>
<h:panelGroup id="results">
...
</h:panelGroup>
所以请帮助我解决这个问题。
答案 0 :(得分:1)
“直到我的手机连接到系统才能观看日志,它工作正常,但我断开手机......”
问题在于,当您连接到开发系统时,设备正在充电,并且(通常)不会进入完全睡眠状态。如果您通过USB连接启用了dv选项以保持设备打开,则尤其如此。一旦您与开发系统断开连接,Android就会对电源管理非常积极,并将进入睡眠状态。你的线程不会运行,直到设备出现足够长的时间给他们CPU时间,这是不确定的。
使用AlarmManager
或JobScheduler
设置定期操作并与电源管理协调。