我需要在目录上设置一个FileObserver。观察周期与长时间运行的活动相关联,因为它有一个包含大量页面的ViewPager。我没有把FileObserver放在活动中,而是想把它放在服务中。现在,我想知道我是使用IntentService,还是应该推出自己的服务实现?我真正关心的是,在显式调用stopService(意图)之前,我不希望服务停止。但我知道IntentService停止了。那么,IntentService停止自身将如何影响我的FileObserver的生活呢?非常重要的是,当我的活动被破坏时,我要开始观察我的活动开始的那一刻。
因此,我想一个重要的问题是:是否有必要将我的FileObserver放在一个服务中,因为我计划在startWatching in onCreate和stopWatching in onDestroy中进行活动?
更新
我使用FileObserver从正在观察到的目录中删除文件,以便将它们放在另一个目录中。实际上,在放入新目录之前,我调整了大约20倍的大小。因此,在onEvent方法中FileObserver所需要的所有内容,这就是为什么我认为具有独立线程的服务很重要的原因。我需要一次观察大约3个小时。
发布于 2016-01-07 19:52:21
是否有必要将我的FileObserver放在一个服务中,因为我计划在startWatching in onCreate和stopWatching in onDestroy中进行活动?
不是的。
有人说..。
我会用IntentService吗?
不是的。
还是我应该推出自己的服务实现?
是。
我真正关心的是,在显式调用stopService(意图)之前,我不希望服务停止。
这就是为什么您不使用IntentService的原因,因为当onHandleIntent()返回时,它会自行停止。
那么,IntentService停止自身将如何影响我的FileObserver的生活呢?
这取决于您在IntentService生命周期方面对IntentService所做的操作。以下任一项:
FileObserver的末尾移除onHandleIntent(),在这种情况下,您将不会观察很长时间的文件FileObserver中的onDestroy(),在这种情况下,您不会在很长时间内观察文件,因为服务将在onHandleIntent()返回后不久被销毁。FileObserver,这是应用程序中的一个bug。非常重要的是,当我的活动被破坏时,我要开始观察我的活动开始的那一刻。
然后在活动中使用FileObserver。
https://stackoverflow.com/questions/34663840
复制相似问题