作者LVE (强尼屁股)
看板AndroidDev
标题[问题] 休眠模式
时间Mon Feb 17 16:08:28 2014
宝杰好 大家好 各位版友午安
最近在研究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
1F:推 chiel:Radio side is another cpu. So application cpu can sleep. 02/17 23:26
2F:推 issuemylove:可以请问一下我写了一个app有接线看DDMS的时候 02/18 17:32
3F:→ issuemylove:它运行是正常的,但是拔掉usb线运行就会挂掉 02/18 17:32
4F:→ issuemylove:这会是跟手机休眠有关系吗? 02/18 17:33
5F:→ issuemylove:或是这两个情况有甚麽差异? (运行都是有压电源键) 02/18 17:33
6F:推 likecyndi:如果是你写一个app~然後有插着usb的话 系统应该不进入 02/18 18:04
7F:→ likecyndi:真正的suspend,这时候应该有wakelock 顶多到earlysuspe 02/18 18:05
8F:→ likecyndi:但是你拔掉USB的时候 系统没有wakelock 所以会suspend 02/18 18:06
9F:→ likecyndi:系统都进入suspend了 你的app自然就没办法运行 02/18 18:06
10F:推 issuemylove:可是我的app本身就有写 wake lock 呢? 02/18 18:46
11F:→ issuemylove:还是说系统的 wake lock比较猛? 02/18 18:46
12F:推 likecyndi:你可以从sys/power/wakelock底下check 02/18 19:27
13F:→ likecyndi:照理说 只要有wakelock就不会suspend 所以你的意思是 02/18 19:30
14F:→ likecyndi:你有注册wakelock系统仍然可以进suspend吗? 02/18 19:31
15F:推 chiel:插usb会拉住wake lock没错 02/18 22:31
16F:→ chiel:你可以用adb shell dumpsys power | grep WAKE_LOCK 02/18 22:31
17F:→ chiel:去看当下是不是有人拉住 02/18 22:32