1

アプリで 3 つのタブと shrelock アクションバーを使用しています。3 つのフラグメントを持つ 3 つのタブ。最初のフラグメントでは、Image live song play image を表示したいと思います。そのため、JSON ファイルを解析して URL を取得しています。そして、画像ビューに表示するより。

画像を表示するには、2 つの方法を使用しました。1 つは非同期タスクを取得して表示することです。別の方法は、画像を画像ビューに割り当てる簡単な方法です。

問題は、タブをスクロールして、画像を取得しているフラグメントに戻ると、次のように時間がかかることです。

1) Async_task = タブを切り替えてホームタブに戻ると、簡単にスクロールできますが、実行後のメソッドでイメージビューアーに URL を割り当てているため、画像を表示するのに 5 秒の遅延がかかります。

2)非同期タスクを使用しない簡単な方法は、URLを画像ビューに直接割り当てることです。タブ間をスクロールしてホームタブに戻ると、ホームタブ(フラグメント)に戻るのに時間がかかりますJSONを解析し、画像のURLを割り当てます。

私の問題は、すでにロードされているか、一度ロードされてAndroidのライフサイクルに使用されることです..しかし、JSONパーサーから別のURLを取得すると、画像が変更されるはずです。

4

1 に答える 1

2

画像を取得した後、画像をキャッシュしてみてください。これにより、画像を再度表示するために URL に再度アクセスする必要がなくなります。すでにダウンロードして最適化した画像を再表示するだけです。

Google には、Android 内で画像を処理する方法に特化したドキュメントの一部があります。また、サンプル コード (BitmapFun.zip) も提供します。あなたはそれをチェックする必要があります。

また、Jake Wharton のLruCache 実装も確認してください。画像をキャッシュする優れた方法。

于 2012-11-30T00:43:28.990 に答える