アプリケーションのごく一部で、ユーザーのデバイスにファイルが存在するかどうかを確認します。ファイルのリストは非常に長くなる可能性があります。数人のユーザーで ANR が発生するのに十分な長さです。千のファイルは決して不可能ではありません。
コードは非常に単純です。
new File(fileUrl).exists()
操作をブロックする必要があるため、現在メインスレッドで実行しています。クラスを使用してそれを実行し、AsyncTask
完了したら残りの作業を続行できますが、それが正当な理由であるかどうか疑問に思っていますか?
Service
それが何かを変えるならば、すべての作業はバックグラウンドで行われています。また、方向の変化を経験する可能性もあり、これは面倒かもしれませんAsyncTask
。Handler
より良いでしょうか?
要約すると、方向の変更が発生する可能性があるバックグラウンド サービスで長時間実行される可能性のある操作に AsyncTask を使用する必要がありますか?