在我们的Android应用程序中,我们需要确切的计时器。
4.x都可以。但在6.0甚至在5.x(至少在三星)上,任何定时器都无法正常工作。
我们要求的时间没有差别。例如我需要600毫秒(偶尔),30秒和5分钟重复计时器。当设备处于空闲模式(6.0,打盹)时,这些中的任何一个都可能会以意外的时间推迟,甚至长达几个小时(!!!)。
Thread.sleep()方法,定时器类,那么pthread_cond_timedwait()(C语言),AlarmManager.set() - 不能保证确切的超时。
AlarmManager.setExact()工作得更好,但并非总是如此。在空闲(打盹)模式下可能根本不工作。即使应用被列入白名单也是如此。
AlarmManager.setExactAndAllowWhileIdle()与setExact()的外观相同。唯一的区别是它在空闲模式下工作,但只有15分钟超时。
加入我们的应用程序的权力白名单并没有帮助。
因此,是否存在一些方法来提供精确的(至少大约)重复超时?Android上的确切超时
1
A
回答
0
我的建议:实现一个不断磨合服务与System.currentTimeMillis的定期检查(例如每100ms)()达到要求的时候。
缺点:比从Android SDK定时器的方式消耗更多的电池
相关问题
- 1. Nginx的超时60确切秒后
- 2. 在Android上确定确切的屏幕翻转时间
- 3. ObjectOutputStream Android上的IOException /超时
- 4. Android上的Ext.ajax超时
- 5. Android上SQLite的忙时间超时
- 6. 确切时间
- 7. Android上的准确时间
- 8. Twitter上的Android异常通信超时
- 9. Android的HttpResponse&超时
- 10. Android ThreadSafeClientConnManager超时?
- 11. Android Httpget超时
- 12. Android GPS超时
- 13. Android AdMob超时
- 14. 在Android的屏幕上的确切坐标的图标
- 15. 报警经理不触发的确切时间报警android的
- 16. 在Android中的自定义通知的确切时间
- 17. Android:文本按钮无序并在超过1行时切断
- 18. Nginx的,和MySQL超时 - 上游超时(110:连接超时)
- 19. Android - 在ImageView上放置一个按钮到确切的地点
- 20. Android - 如何显示谷歌地图上的确切位置?
- 21. 如何获取Android上次调用的确切日期?
- 22. Android上不正确的时区问题
- 23. CodeChef上的超时时间
- 24. 上传时的webclient超时
- 25. 获取按钮的确切坐标 - Android
- 26. Android - 定位图像的确切位置
- 27. 超时EC2上
- 28. 如何在android中获取确切的当前移动时间?
- 29. 连接超时Android
- 30. Android屏幕超时
我的应用程序是一个前台服务。这是不可能实现“每100毫秒”超时的问题。任何超时可能会延迟一个小时。 – RomaRoma