ディレクトリに FileObserver を設定する必要があります。観察期間は、多くのページを持つ ViewPager があるため、長時間実行されるアクティビティにリンクされています。FileObserver をアクティビティ内に配置する代わりに、サービス内に配置することを考えていました。IntentService を使用するか、独自のサービスの実装をロールアウトする必要があるかどうか疑問に思っています。私の本当の懸念は、明示的に stopService(intent) を呼び出すまでサービスを停止したくないということです。しかし、IntentService 自体が停止することは理解しています。では、IntentService 自体を停止すると、FileObserver の寿命にどのように影響するのでしょうか? 非常に重要なことは、アクティビティが開始されてから、アクティビティが破棄されるまでの観察を開始したいということです。
重要な質問は次のとおりだと思います: アクティビティの onCreate で startWatching を、onDestroy で stopWatching を計画しているので、FileObserver を Service に配置する必要はありますか?
アップデート
FileObserver を使用して、監視対象のディレクトリからファイルを削除し、別のディレクトリに配置しています。実際には、新しいディレクトリを配置する前に、サイズを約 20 倍に変更します。したがって、onEvent
FileObserver のメソッドで処理する必要があるのはすべてです。これが、独立したスレッドを備えたサービスが重要であると考えている理由です。そして、一度に約3時間観察する必要があります。