0

我有一个进程内 IntentService,它在磁盘上转换和缓存 Activity 使用的图像,运行可能需要 5 分钟(取决于设备)。同时,Activity 继续运行并向用户 UI 显示低分辨率版本的图像。

我的问题是,如果用户将 Activity 发送到后台,服务会继续运行,但在某些时候它似乎会暂停,因为进度停止并且在重新启动之前不会继续IntentService。我截获了 IntentServiceonDestroy()但注意到它仅在 IntentService 完全完成时才被调用。

如果需要,我可以让 Android 暂停我IntentService的,但有什么方法可以知道它是否已暂停?我想知道为了 1)取消(或更改)通知消息并执行任何清理。提前致谢。

4

1 回答 1

0

暂停可能是由于 CPU 进入睡眠模式,在屏幕变黑几秒钟后。您的服务需要获取WakeLock以保持 CPU 运行(并在服务完成之前立即释放它,但不是在onDestroy()方法上,它不能保证每次都运行)。但是,没有任何警告信号表明 CPU 将进入睡眠模式,也没有广播事件或类似的东西。

于 2013-11-04T18:04:02.880 回答