在我們的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. Android上的Ext.ajax超時
- 4. ObjectOutputStream Android上的IOException /超時
- 5. Android上SQLite的忙時間超時
- 6. 確切時間
- 7. Android上的準確時間
- 8. Twitter上的Android異常通信超時
- 9. Android的HttpResponse&超時
- 10. Android AdMob超時
- 11. Android GPS超時
- 12. Android ThreadSafeClientConnManager超時?
- 13. Android Httpget超時
- 14. 在Android的屏幕上的確切座標的圖標
- 15. 報警經理不觸發的確切時間報警android的
- 16. 在Android中的自定義通知的確切時間
- 17. Android:文本按鈕無序並在超過1行時切斷
- 18. Android - 在ImageView上放置一個按鈕到確切的地點
- 19. Android - 如何顯示谷歌地圖上的確切位置?
- 20. 如何獲取Android上次調用的確切日期?
- 21. Nginx的,和MySQL超時 - 上游超時(110:連接超時)
- 22. Android上不正確的時區問題
- 23. CodeChef上的超時時間
- 24. 上傳時的webclient超時
- 25. 獲取按鈕的確切座標 - Android
- 26. Android - 定位圖像的確切位置
- 27. 超時EC2上
- 28. 如何在android中獲取確切的當前移動時間?
- 29. 連接超時Android
- 30. 會話超時Android
我的應用程序是一個前臺服務。這是不可能實現「每100毫秒」超時的問題。任何超時可能會延遲一個小時。 – RomaRoma