1. ホーム
  2. android

[解決済み] AsyncTaskLoaderとAsyncTaskの比較

2022-07-14 07:14:36

質問

以下 Honeycomb であり v4 Compatibility Library を使用することが可能です。 AsyncTaskLoader . 私が理解したところでは AsyncTaskLoader は、画面の反転のような設定の変更にも耐えることができます。

を使用することは推奨されますか? AsyncTaskLoader の代わりに AsyncTask ? は LoaderManager も写り込むのでしょうか?

を正しく使用する方法について、良い例を見つけたわけではありません。 AsyncTaskLoader . docsも例を示していません。どなたか良い例を提供していただけませんか。

どのように解決するのですか?

互換ライブラリのソースコードを見ると、より詳細な情報を得ることができます。どのような FragmentActivity は何をするかというと

  • のリストを保持します。 LoaderManager 's
  • を使用してインスタンスを保存し、携帯電話を反転させたとき (またはその他の設定変更が発生したとき) に破棄されないようにします。 onRetainNonConfigurationInstance()
  • を呼び出したら正しいローダーをキックします。 initLoader() を呼び出したとき、正しいローダーをキックします。

を使用する必要があります。 LoaderManager を使用してローダーとのインタフェースをとり、必要なコールバックを提供してローダーを作成し、それらが返すデータでビューを生成する必要があります。

一般に、これは AsyncTask を自分で管理するよりも簡単なはずです。しかし AsyncTaskLoader は必ずしもうまく文書化されているわけではありませんので、 ドキュメントの中の例を研究するか、あるいは自分のコードを CursorLoader .