0

こんにちは、明けましておめでとうございます!

インターネットから画像をダウンロードして、別の ImageViews に配置しようとしています。ImageViews は、ユーザーがスクロールすると動的に作成されます。ユーザーがスクロールビューの一番下に到達すると、さらに 10 個の画像を読み込みます。

画像は問題なくロードされていますが、画像が多いと java.lang.OutOfMemoryError が発生します。

問題は、多くのメモリを消費する多くの画像があることだとわかっているので、私のシナリオではどうすればよいでしょうか?

ありがとう!

4

2 に答える 2

2

ScrollView の代わりに ListView を使用してみてください。次に、 Universal Image Loaderなどの遅延読み込み手法を使用できます。ListView はビューのリサイクルを利用しているため、メモリを節約できます。また、イメージ ローダーを使用してイメージをキャッシュすることもできます。このライブラリには、メモリ管理用のオプションもいくつかあります。

于 2013-01-08T17:59:35.743 に答える
0

読み込んだ画像を追跡し、表示されなくなったらリサイクルを開始する必要があります。

LruCacheが貴重なツールであることに気付くかもしれません。IO12「Doing More With Less: Being a Good Android Citizen」では、多くのメモリの問題を取り上げ、4 分前後から LruCache の使用方法についての議論が含まれている良い話がありました。

于 2013-01-08T17:50:28.223 に答える