2011-09-20 46 views

回答

3

WakeLock整個想法是讓設備運行,而不是進入休眠模式的一些代碼。無論你用什麼方法來防止設備進入睡眠狀態,它都會消耗電池。據我所知,在「屏幕關閉」時運行代碼的唯一方法是使用WakeLock

Android OS在功耗方面非常積極,除非您在設備進入省電模式時明確請求運行您的應用程序,否則會「暫停」您的應用程序進程。


因此,如果您認爲您必須始終運行您的代碼,則應該接受電池消耗。如果應用程序消耗過多電量,請考慮更改設計和/或決定應用運行的頻率和時間,特別是在設備嘗試進入省電模式時。

0

您可以在infinite loop的服務範圍內執行thread,但是當您停止服務時,請不要忘記釋放您在服務中使用的所有資源,因爲android不會爲您執行此操作。

+0

我使用線程,但是當屏幕關閉時,服務不起作用。 – AndyBeg

+0

顯示您的代碼....... –