前段时间做了一个新闻类的项目,新闻列表中的图片都是网络图片,刚开始是自定义ImageView(等于是在其中加了一个异步下载然后设置背景)虽然可以加载网络图片,不过当快速滑动的时候会很卡顿,而且前期没有对Bitmap做回收,导致OOM(内存溢出),后来上网查了各种资料,大概有两种思路:
1.滑动的时候不加载图片,等滑动停止之后再加载,这样就需要对ListView进行OnScrollListener监听,得到屏幕上显示的开始和结束的位置(当有headView和footerView时需要换算)然后下载对应项的网络图片,每下载一张就对adapter进行notifyDataSetChanged操作,缺点:代码量相对较大,还有就是滑动和不滑动需要用到锁来控制,虽然按照这个思路实现了,不过感觉比较麻烦,不靠谱;
2.就是使用软引用,不多废话了,如图所示:
源码下载地址:http://www.eoeandroid.com/thread-589993-1-1.html
时间: 2024-10-11 14:43:44