[問題] 休眠模式

看板AndroidDev作者 (強尼屁股)時間10年前 (2014/02/17 16:08), 編輯推噓6(6011)
留言17則, 3人參與, 最新討論串1/2 (看更多)
寶傑好 大家好 各位版友午安 最近在研究android的休眠狀態 爬了網路上的文章之後,大部分都是歸類下列三種狀態 USER_AWAKE, //Full on status USER_NOTIFICATION, //Early suspended driver but CPU keep on USER_SLEEP // CPU enter sleep mode 平時使用者操作時都是在AWAKE 狀態下 當按下螢幕鎖,或者休眠時間一到,會先進入notification模式 之後會查看有沒有app使用 wake lock 當所有 wake lock都釋放之後,系統才會真正進入休眠 當系統偵測到Wakeup source之後才會回到AWAKE狀態 -------------------以上為目前做功課得知的知識 那我的問題如下: 何者為Wakeup source ??? 當使用者按下電源鍵 = 觸發Wakeup source ?? 來電時會觸發Wakeup source ??? 使用者按下電源鍵會觸發這完全可以理解 但是來電時也會喚醒手機 那不就代表著手機根本沒有休眠嗎... 因為接通電話的APP可能一直使用PARTIAL WAKE LOCK ?? 想請教各位何種狀態下,才算真正進入休眠 而那些訊號算是wakeup source呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.2.55

02/17 23:26, , 1F
Radio side is another cpu. So application cpu can sleep.
02/17 23:26, 1F

02/18 17:32, , 2F
可以請問一下我寫了一個app有接線看DDMS的時候
02/18 17:32, 2F

02/18 17:32, , 3F
它運行是正常的,但是拔掉usb線運行就會掛掉
02/18 17:32, 3F

02/18 17:33, , 4F
這會是跟手機休眠有關係嗎?
02/18 17:33, 4F

02/18 17:33, , 5F
或是這兩個情況有甚麼差異? (運行都是有壓電源鍵)
02/18 17:33, 5F

02/18 18:04, , 6F
如果是你寫一個app~然後有插著usb的話 系統應該不進入
02/18 18:04, 6F

02/18 18:05, , 7F
真正的suspend,這時候應該有wakelock 頂多到earlysuspe
02/18 18:05, 7F

02/18 18:06, , 8F
但是你拔掉USB的時候 系統沒有wakelock 所以會suspend
02/18 18:06, 8F

02/18 18:06, , 9F
系統都進入suspend了 你的app自然就沒辦法運行
02/18 18:06, 9F

02/18 18:46, , 10F
可是我的app本身就有寫 wake lock 呢?
02/18 18:46, 10F

02/18 18:46, , 11F
還是說系統的 wake lock比較猛?
02/18 18:46, 11F

02/18 19:27, , 12F
你可以從sys/power/wakelock底下check
02/18 19:27, 12F

02/18 19:30, , 13F
照理說 只要有wakelock就不會suspend 所以你的意思是
02/18 19:30, 13F

02/18 19:31, , 14F
你有註冊wakelock系統仍然可以進suspend嗎?
02/18 19:31, 14F

02/18 22:31, , 15F
插usb會拉住wake lock沒錯
02/18 22:31, 15F

02/18 22:31, , 16F
你可以用adb shell dumpsys power | grep WAKE_LOCK
02/18 22:31, 16F

02/18 22:32, , 17F
去看當下是不是有人拉住
02/18 22:32, 17F
文章代碼(AID): #1J0SE12k (AndroidDev)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
問題
6
17
文章代碼(AID): #1J0SE12k (AndroidDev)