[英]wakelock, deep-sleep, and gcm
我搜索了一下,但對GC與喚醒鎖的真正功能有疑問。
喚醒鎖是否阻止設備進入會阻止網絡層關閉的睡眠模式 - 因此它可以首先從網絡級別接收GCM消息
或者當GCM啟用並運行時(通過清單權限,正確編碼的GCM代碼等),它將與Google建立網絡連接以用於GCM,並且只需要從UI或應用程序級別喚醒鎖定以將屏幕重新打開因此,您可以在收到后做其他事情(與用戶交互等)。
或者沒有/上面的一些(請詳細說明:)
謝謝geremy
根據我的說法,您需要獲取WAKE_LOCK
以啟動GCM Service
然后釋放它,因為您的CPU在啟動服務之前不應該睡眠。
屏幕關閉后,CPU將在一段時間內進入睡眠模式。 當您的設備處於睡眠模式時,您的線程將被暫停。
如果你獲得了喚醒鎖並且沒有釋放它,它肯定會消耗大量的電池。
您可以在設備處於空閑模式時接收GCM消息。
當消息到達時,取決於您的代碼是否喚醒設備和顯示通知。
您還可以使用標志delay_while_idle
延遲消息,直到設備退出空閑狀態。
您可以通過注冊BroadcastReceiver來處理消息
請參考SO上的問題和答案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.