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的布局文件的问题:
1.
<ListView
2.
android:id=
"@+id/list"
3.
android:layout_width=
"fill_parent"
4.
android:layout_height=
"wrap_content"
5.
/>
将android:layout_height="wrap_content"修改成:android:layout_height="fill_parent"就可以了。