バックグラウンド
AsyncTask よりも推奨される、バックグラウンドでデータをロードするための新しいソリューションがいくつかあると聞きました ( loaders など)。
問題
AsyncTasks は素晴らしく、使いやすいです。ただし、いくつかの制限があります。
保留中のタスクの数 (約 256 程度) によって制限されるため、クラス自体を変更する必要があります。もちろん、listView のアダプターでは、タスクが必要ない場合 (たとえば、別のアイテムに使用されたビューを更新する必要がある場合) は常にタスクをキャンセルします。
また、アクティビティ/フラグメントが再作成されているときに、それらをすべてキャンセルする (または別の方法で処理する) 必要があります。
1&2のため、それらを管理し、それらすべてを参照する必要があります
AsyncTask はタスクのキューを使用し、代わりにスタックを使用する必要がある場合もあるため、代わりにスタックを使用する独自の AsyncTask クラスを作成する必要がありました。
質問
AsyncTask の代替手段はありますか?
これは以前のいくつかの投稿で尋ねられたことは知っていますが (ここのように)、asyncTask に代わるバックグラウンドでデータをロードする新しい一般的な方法があるかどうかを考えていました。
ローダーについては、データベースと contentProvider に使用されるという考えだと思いますが、(たとえば) インターネットからのデータ (画像ファイルなど) の読み込みにも使用できますか?
また、Google によって作成された素敵なサンプル (ここでは "bitmapFun" と呼ばれます) もあります。これは、AsyncTask を使用していることがわかります (そして、おそらく私が言及したのと同じ理由で、それを拡張することさえあります)。しかし、多分私も何かを見逃していますか?