昨天我在倫敦AppsWorld上看到了Commonsware Mark關於多線程和使用醒目服務的偉大演講。他建議在某些情況下使用WakefulIntentService或WakeFulBroadcastReceiver以確保您的應用能夠繼續一些長時間處理並防止設備進入睡眠狀態。設備何時進入睡眠狀態?
我有一個app,當設備屏幕關閉時,它會定期執行一些後臺處理。我使用AlarmManager來定期完成這些工作。 由於我有一個龐大的用戶羣(200,000活躍用戶),當用戶給我發送一些日誌文件時,我會看到各種奇怪的情況。除此之外,我可以看到,在某些設備上觸發警報後,應用程序開始執行其工作,然後突然在幾秒鐘甚至幾分鐘內(沒有在日誌文件中輸入一段時間)執行任何操作。我認爲這是因爲手機進入睡眠狀態。 讓我感到困擾的是,這隻發生在某些設備上,例如三星SGS2 +會發生很多事情,但不會發生在SGS2,SGS3或SGS4上。
所以我想知道的是:什麼是政策決定何時把手機睡覺?它是Android決定還是在Linux級別更低? 允許製造商調整多少?睡眠策略不應該成爲Android Compatibility定義的一部分嗎? 額外的問題:是否有某些級別的睡眠,像幾個級別的CPU速度,還是隻是布爾睡覺/不睡覺?
這是標記,而不是麥克:) – Piovezan