我想知道是否有人可以向我解释以下内容。
我有两台设备,一台 HTC Desire 和一台三星 Galaxy Nexus。我在两者上运行相同的应用程序。该应用程序有一个前台服务,通过注册到 PhoneStateListener 来监听小区位置和信号强度更新。
当手机完全唤醒时,两者的工作方式相似。当手机进入睡眠状态时,nexus 会不断更新信号强度(有时还会更新手机位置),但 Desire 会停止。我认为这是由于每个 RIL 如何处理 SCREEN_OFF 意图。
我想了解的是,当手机处于睡眠状态时,小区/信号更新对 nexus 的影响是什么。我在侦听器中有一个记录器,并且在睡眠期间不断获取更新日志。
1) 这是否意味着 Android 在每次信号强度更新时都会唤醒?2)如果我在屏幕关闭时从这个监听器中注销,Android 是否仍会因为 RIL 的实现方式而唤醒?
我在侦听器内部没有任何 cpu 锁。
谢谢。