Fileobserver在待机期间处于服务状态

时间:2013-06-08 11:34:21

标签: android service wakelock standby fileobserver

我的Android FileObserver出了问题。

我有一个后台服务正在运行(返回START_STICKY),它引用了两个FileObservers。 一切正常,直到设备设置为睡眠模式,这将停止服务,据我所知。

  1. 当设备进入睡眠模式时,是否有人知道Service / FileObserver究竟发生了什么?

  2. 服务可以在冻结之前得到通知,这样我就可以保存被观察文件夹的文件列表,并在设备再次被唤醒时将其与新列表进行比较吗?

  3. 我不想使用唤醒锁,因为它对电池寿命有影响。

    1. 一旦我重新打开屏幕,我的服务设置为休眠状态时发生的文件夹更改是否会触发FileObserver事件?
    2. 这无法真正测试它,因为USB调试可以让设备保持清醒状态。

      感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  

一切正常,直到设备设置为睡眠模式,这将停止服务,据我所知

不,它会停止CPU。

  

当设备进入睡眠模式时,是否有人知道Service / FileObserver究竟发生了什么?

CPU已停止。停止的CPU不会执行指令。这让人想起将开发计算机置于挂起模式。

(细节要复杂得多,但通常与SDK级别无关,恕我直言)

  

服务是否可以在冻结前得到通知,这样我就可以保存被观察文件夹的文件列表,并在设备再次被唤醒时将其与新列表进行比较?

没有

  

一旦我重新打开屏幕,我的服务设置为休眠状态时发生的文件夹更改是否会触发FileObserver事件?

我没试过。

  

这无法真正测试它,因为USB调试可以让设备保持清醒状态。

然后拔下USB电缆。使用Log语句记录您要监视的结果。在测试期后插入USB电缆,检查LogCat并查看日志。

一般来说,您的整体解决方案(持续运行的服务)是用户敌对的。当用户使用任务杀手和强制停止按钮攻击你时,请不要抱怨。