2016-03-31 7 views
1

Loaderと、いつAsyncTaskLoaderを使用する必要があるのか​​分かりませんか?私はこれらのクラスでドキュメントを読みましたが、それはひどく分かりました。私が理解しているように、Loaderはバックグラウンド作業を許可しているので、GUI以外のスレッドで起動する必要があります。 AsyncTaskLoaderはどうして同じですか?私はすでに混乱している。
詳細を教えてください。AsyncTaskLoaderとLoaderの間の相違点は何ですか?

+0

Loader受信者を登録して受信することができますが、アクティビティが実行されている限り存続し、asynctaskはジョブの完了時に終了します。 – k0sh

+0

私は 'AsyncTaskLoader'と' Loader'について尋ねました。 'Loader'がバックグラウンドで動作するかどうかは分かりません。なぜAsyncTaskLoaderが必要なのでしょうか? –

答えて

3

Loaderメソッドのすべてがメインスレッドで呼び出されます。Loaderは、バックグラウンドスレッドで作業を行いません。これにより、独立したスレッド、別のコンポーネントへのコールバック、または何か他の何らかのロードメカニズムを使用することができます。

AsyncTaskLoaderLoaderを拡張し、具体的にはバックグラウンドスレッドで呼び出される方法loadInBackground()を追加します。単純なケースのための単純なクラスです。いずれの場合においても

、ローダーの役割は、this blog postで説明したようにローディングデータのライフサイクルに認識させることである - Loader S(したがって、AsyncTaskLoaders)は、画面回転などの構成変更を生き残ります。このブログには、AsyncTaskLoaderの例がいくつか含まれています。変更の観察者を伴うAsyncTaskLoaderと、コールバックを使用して別のデータソースからデータを取得するLoaderがあります。

+0

お返事ありがとうございます!その後、私はそれがルートで間違っていることに気づいた) –

関連する問題