使用ImageLoader框架可以很好的解决图片缓存问题,不过几天前出现的问题让我头疼。
下面的代码中红色字体原来注释的,结果Gallery滑动时图片在原地哆嗦。。。。。一直以为是Android的一个bug就没改。今天客户提出来了,必须解决!
首先找到官网上面的ImageLoader+Gallery的例子,发现它显示的就没问题。仔细比对发现,ImageLoader使用了缓存机制。
而我这把缓存给去掉了。。想想原因,难道是由于Gallery每次去网上直接下载图片的原因???不用缓存还不行了。。
private DisplayImageOptions options;
public AdImageAdapter(Context context, List<Resource> resourceList) {
mContext = context;
this.resourceList = resourceList;
options = new DisplayImageOptions.Builder()
.showImageOnLoading(
GetItemId.getDrawableResIDByName(context, "suma_default_poster"))
.showImageForEmptyUri(
GetItemId.getDrawableResIDByName(context, "suma_default_poster"))
.showImageOnFail(GetItemId.getDrawableResIDByName(context, "suma_default_poster"))
.cacheInMemory(true)
.cacheOnDisc(true)
.bitmapConfig(Bitmap.Config.RGB_565).build();
//初始化,不加这句会提示imageloader没有初始化
imageLoader.init(ImageLoaderConfiguration.createDefault(context));