gpt4 book ai didi

android - IntentService 是否适合 FileObserver

转载 作者:行者123 更新时间:2023-11-29 20:11:50 27 4
gpt4 key购买 nike

我需要在一个目录上设置一个 FileObserver。观察期链接到一个长时间运行的 Activity ,长时间运行是因为它有一个包含很多页面的 ViewPager。我没有将 FileObserver 放在 Activity 中,而是考虑将其放在服务中。现在我想知道我会使用 IntentService 还是应该推出我自己的 Service 实现?我真正担心的是,在我明确调用 stopService(intent) 之前,我不希望服务停止。但我知道 IntentService 会自行停止。那么 IntentService 停止自身将如何影响我的 FileObserver 的生命周期?非常重要的是,我想开始观察我的 Activity 开始到我的 Activity 被销毁的那一刻。

所以我想一个重要的问题是:是否有必要将我的 FileObserver 放在一个服务中,因为我计划在我的 Activity 的 onCreate 中开始监视并在 onDestroy 中停止监视?

更新

我正在使用 FileObserver 从正在观察的目录中删除文件,将它们放在另一个目录中。实际上,在放入新目录之前,我将大小调整了大约 20 倍。因此,所有需要在 FileObserver 的 onEvent 方法中发生的事情,这就是为什么我认为具有独立线程的服务是重要的。而且每次需要观察3个小时左右。

最佳答案

Is it necessary at all to place my FileObserver in a Service, since I plan to startWatching in onCreate and stopWatching in onDestroy of my Activity?

没有。

话虽这么说......

would I use IntentService

没有。

or should I roll out my own implementation of Service?

是的。

My real concern is that I do not want the service to stop until I explicitly call stopService(intent).

这就是您不使用 IntentService 的原因,因为它会在 onHandleIntent() 返回时自行停止。

So how would an IntentService stopping itself affect the life of my FileObserver?

这取决于您在 IntentService 生命周期方面使用 FileObserver 做什么。要么:

  • 您正在删除 onHandleIntent() 末尾的 FileObserver,在这种情况下,您不会长时间观察文件

  • 您正在删除 onDestroy() 中的 FileObserver,在这种情况下,您不会长时间观察文件,因为该服务将被销毁onHandleIntent() 返回后不久

  • 您根本没有删除 FileObserver,这是您应用中的错误

Very importantly, I want to start observing the moment my activity starts to when my activity is destroyed.

然后在 Activity 中有 FileObserver

关于android - IntentService 是否适合 FileObserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34663840/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com