0

たくさんの画像をキャッシュすることに興味があります。それらはHorizo​​ntalScrollViewに表示されています。各画像はURLに関連付けられています。2.2デバイスでは、AsyncTaskをイメージとして起動することはできません。たとえば、10 AsyncTaskを実行すると、アプリケーションがクラッシュするため、アプリケーションが信頼してくれます。そのため、各URLを進行し、ビットマップを取得してキャッシュに保存する1つのAsyncTaskを起動することを考えていました。一部の画像は他の画像よりも時間がかかる可能性があるため、AsyncTasksを起動して画像を取得してキャッシュに配置するAsyncTaskがちょうどいい方法だと思っていました。それぞれが戻るのを待つことは、他のものより時間がかかるかもしれないので実行可能ではありません。したがって、doInBackgroundを使用する1つのAsyncTaskは、それぞれを起動する低速遅延ループであると思います。このアプローチは、ビットマップの画像キャッシュに実行可能ですか?

4

1 に答える 1

1

ドキュメントから:

AsyncTask クラスを UI スレッドにロードする必要があります。これは、JELLY_BEAN の時点で自動的に行われます。

また、Honecomb AsyncTasks は (デフォルトで) シリアル化されるため、AsyncTasks を使用して並列に長い処理を行うこともお勧めできません。それが必要な場合は、Executors を調べてください。AsyncTask ドキュメント ページにある適切なドキュメントへのリンク。

于 2013-01-01T23:28:01.950 に答える