AndroidはListView非同期ロード画像+キャッシュ+スレッドプール管理を実現
http://www.iteye.com/topic/685986 「Android実現ListView非同期ロード画像」は、多くの人がこの方法を使ったことがあると信じています.確かにいいですが、本人のプロジェクトでは、使うと問題があることがわかりました.
1.プログラムを起動するたびに、画像はネットワークにロードされ、特にトラフィックが消費されます.
2.画面に表示されるlistviewのitemが10個あると、10個のスレッドを開いて同時に画像をダウンロードし、cpuの占有率が特に高い.
3.各itemはViweCacheオブジェクトを生成し、特にメモリを消費します.AndroidのAPIdemoのlistviewアダプタの書き方を真似て、
4.itemの中で画像のurlが間違っていると、画像の占有記号が消え、右のtextviewの文字が移動して美観に影響します.
そのため、具体的なニーズに応じて、その機能を改善し、その上で修正しました:主にAsyncImageLoader.javaの中の方法です.
修正中に問題が発生しました.listviewのgetView()メソッドは、listviewのレイアウトファイルの問題です.
android:layout_height="wrap_content"を次のように変更します.
android:layout_height=「fill_parent」でいいです.
1.プログラムを起動するたびに、画像はネットワークにロードされ、特にトラフィックが消費されます.
2.画面に表示されるlistviewのitemが10個あると、10個のスレッドを開いて同時に画像をダウンロードし、cpuの占有率が特に高い.
3.各itemはViweCacheオブジェクトを生成し、特にメモリを消費します.AndroidのAPIdemoのlistviewアダプタの書き方を真似て、
4.itemの中で画像のurlが間違っていると、画像の占有記号が消え、右のtextviewの文字が移動して美観に影響します.
そのため、具体的なニーズに応じて、その機能を改善し、その上で修正しました:主にAsyncImageLoader.javaの中の方法です.
修正中に問題が発生しました.listviewのgetView()メソッドは、listviewのレイアウトファイルの問題です.
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
android:layout_height="wrap_content"を次のように変更します.
android:layout_height=「fill_parent」でいいです.