2

設計上の決定を下す必要があります。
Android開発者サイトで読んだことから、AsyncTaskLoaderを起動してバックグラウンドでOSプロセスからデータをロードするサービスを実装したいと思います。
Android開発者サイトのドキュメントでは、AsyncTaskLoaderをアクティビティとフラグメントで使用できると書かれていますが、サービスについては言及されていません。

サービスで AsyncTaskLoader を使用するのは悪い習慣ですか?
その場合、バックグラウンドで実行中の OS プロセスからデータを収集するにはどうすればよいですか? (注:アプリが閉じられたり破棄されたりしても、コレクションを続行する必要があります)

4

2 に答える 2

2

ローダーは通常、比較的頻繁に作成および破棄される UI 要素に使用され、毎回再クエリせずに以前にクエリされたオブジェクトにアクセスする必要があります。Service は Activity や Fragment のようにロード中に破棄されないため、Service のバックグラウンドでデータをロードするためのベスト プラクティスは、新しい Thread を生成することです。

于 2013-02-11T19:39:58.200 に答える
1

ローダーは実際には Activity と FragmentsIntentServiceのためのものです。バックグラウンド スレッドで何らかの作業を行うための良い方法が必要な場合は、 を検討するのが理にかなっているかもしれません。で役に立ちそうな具体的なものはありAsyncTaskLoaderますか?

いずれにせよ、アプリが破壊されると収集を続けることができなくなります。アプリが破棄された場合、アプリは何の作業も行うことができません。ただし、バックグラウンドで作業を行うために使用したいのServiceは、ある種のことです。

于 2013-02-11T20:08:20.677 に答える