仔细看下吧,不是闹钟软件问题(即所谓的睡不死闹钟不存在),更不是进程被杀了,其实那样的小白很少的
增加个好消息,龙猪打算在beta5中解决闹钟问题~链接地址:
alldroid上的nadlabak把这个情况和摩托罗拉官方进行了反馈,官方已经承认了这个问题,引用这段话“It's officially confirmed now. Motorola finally recognized the issue, they are "working on a resolution".”
建议看下这个链接
上面那个链接里的内容,简单点讲是MS的2.1ROM有深层睡眠状态,这个时候闹钟不能被按时激活;但比如按键,WIFI,短信,电话等等这些都能把MS从深层睡眠中唤醒,所以如果一直开着WIFI,或者闹钟到点前有短信,电话,或者按键了(闹钟延迟的时候按一下POWER键点亮屏幕的一瞬间闹钟就会自动响了),这些都能使得闹钟没有问题;当然了如果你一直插着电,那系统也不可能进入深层睡眠状态。
如果你的闹钟一切正常,且上面的那些操作都没有做,那也可能是下面这个原因使得你的闹钟一直正常:
鉴于WIFI连着闹钟就一切正常,而系统设置里面有个自动对时(基站对时),但不是所有的基站都支持自动对时,所以猜测闹钟没有问题的还有一种可能是开着基站对时且当地基站支持对时,源于此系统不会陷入深层睡眠,所以闹钟就都是准时的了,而基站如果不支持自动对时的呢?那就杯具了
解决方法:
换用其他闹钟软件无效,再次强调,无效。闹钟BUG是内核唤醒机制问题。
现在暂时可以用load monitor里面的wake lock选项来解决闹钟问题,可以使系统不进入深层睡眠状态,耗电可以忽略
BTW:新版的load monitor在一段时间系统没有超load后通知栏的图标会自动隐藏,这样避免了眼见心烦;另外这个软件备份出来后无法安装,需要从菜场下载安装
当然如果可以修改下闹钟的APK,增加一个设置项可以保持wake lock,那应该是目前最好的解决方案了;好消息是下一个版本的GentleAlarm里面会增加wake lock的设置项,期待下
为进一步好奇的人更新具体原因:
“It's a kernel problem. I've tried whether it could be possible to
circumvent the broken functions of /dev/alarm by setting alarms via
/dev/rtc0 using ioctl, but the RTC_WKALM_SET is not supported by the current RTC kernel driver and the RTC_ALM_SET won't wake up the CPU. That's probably all that could be done.
Don't waste your time. The situation is pretty clear. The fix has to be done in kernel space.
Until that time, the ugly wake lock workaround is the only thing that can ensure well-timed alarms under any circumstances.
阅读(3170) | 评论(1) | 转发(0) |