![](/img/trans.png)
[英]Android: Help counting when the screen is turning off/on in a background service
[英]Background service not running when screen is off
我正在使用WakeLock,但它會消耗大量電池。 有其他替代解決方案嗎?
WakeLock
的整體思想是允許設備運行一些代碼,而不是進入睡眠模式。 無論您采用什么方式來防止設備進入休眠狀態,都會消耗電池電量。 據我所知,“屏幕關閉”時運行代碼的唯一方法是使用WakeLock
。
Android OS在功耗方面非常激進,除非您明確要求在設備進入省電模式時運行應用程序,否則它將“暫停”您的應用程序進程。
因此,如果您認為必須一直運行代碼,則應該消耗電池電量。 如果應用程序消耗過多的電池,請考慮更改設計和/或決定應用程序運行的頻率和時間,尤其是在設備嘗試進入節能模式時。
您可以使用infinite loop
在服務內部實現thread
,但是當您停止服務時不要忘記釋放您已在服務中使用的所有資源,因為android不會幫您這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.