Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何知道IntentService何时暂停_Java_Android Service - Fatal编程技术网

Java 如何知道IntentService何时暂停

Java 如何知道IntentService何时暂停,java,android-service,Java,Android Service,我有一个进程内IntentService,它可以转换和缓存活动使用的磁盘上的图像,运行可能需要5分钟(取决于设备)。同时,活动将继续运行并向用户UI显示低分辨率版本的图像 我的问题是,如果用户将活动发送到后台,服务将继续运行,但在某个点上它似乎会暂停,因为进程会停止,直到重新启动IntentService。我截获了IntentServiceonDestroy(),但注意到只有在IntentService完全完成时才会调用它 如果需要,Android可以暂停我的IntentService,但有没有

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

我的问题是,如果用户将活动发送到后台,服务将继续运行,但在某个点上它似乎会暂停,因为进程会停止,直到重新启动
IntentService
。我截获了IntentService
onDestroy()
,但注意到只有在IntentService完全完成时才会调用它

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

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

如果我不使用唤醒锁,当CPU恢复“生命”时,暂停的IntentService会发生什么情况?恢复了吗?然后从它停止的地方开始?是的,它被恢复并从它停止的地方开始。