android–Universal Image Loader在每次滚动后重新加载图像

android–Universal Image Loader在每次滚动后重新加载图像,第1张

概述根据标题,如何在ListView中的每次滚动后停止UIL重新加载图像?以下是我实现ImageLoader的方法:publicclassLatestAdapterextendsBaseAdapter{...//UILprivateImageLoaderConfigurationconfig;privateFilecacheDir;privateDisplayImageOptio

根据标题,如何在ListVIEw中的每次滚动后停止UIL重新加载图像?

以下是我实现Image Loader的方法:

public class LatestAdapter extends BaseAdapter {    ...    // UIL    private ImageLoaderConfiguration config;    private file cacheDir;    private displayImageOptions options;    private ImageLoader imageLoader = ImageLoader.getInstance();    public LatestAdapter(Context context, ArrayList<ItemListModel> items) {        this.arrItemList = items;        this.context = context;        if (androID.os.Environment.getExternalStorageState().equals(androID.os.Environment.MEDIA_MOUNTED))            cacheDir=new file(androID.os.Environment.getExternalStorageDirectory(),"JunkFolder");        else            cacheDir=context.getCacheDir();        if(!cacheDir.exists())            cacheDir.mkdirs();        options = new displayImageOptions.Builder()                .showImageOnLoading(R.drawable.placeholder)                .showImageOnFail(R.drawable.error)                .bitmapConfig(Bitmap.Config.RGB_565)                .imageScaleType(ImageScaleType.IN_SAMPLE_INT)                .build();        config = new ImageLoaderConfiguration.Builder(context)                .memoryCache(new WeakMemoryCache())                .denyCacheImageMultipleSizesInMemory()                .discCache(new UnlimiteddiscCache(cacheDir))                .threadPoolSize(5)                .defaultdisplayImageOptions(options)                .build();        imageLoader.init(config);    }    ...    @OverrIDe    public VIEw getVIEw(int i, VIEw vIEw, VIEwGroup vIEwGroup) {        ...        imageLoader.displayImage(nm.getthumbnail().getimage100(), vh.tvthumbnail, options, new ImageLoadingListener() {            @OverrIDe            public voID onl oadingStarted(String s, VIEw vIEw) {            }            @OverrIDe            public voID onl oadingFailed(String s, VIEw vIEw, FailReason failReason) {            }            @OverrIDe            public voID onl oadingComplete(String s, VIEw vIEw, Bitmap bitmap) {            }            @OverrIDe            public voID onl oadingCancelled(String s, VIEw vIEw) {            }        });    }}

每次我滚动ListVIEw(向上或向下),它都不会保存以前加载的图像,而是重新加载ImageVIEw.如何“保存”图像,使其不会在每个卷轴上闪烁?

解决方法:

你将无法保存ime.列表适配器创建显示的项目以及上方和下方的一些项目.所有其他项目都将被销毁,然后在需要时重新创建.这就是convertVIEw的目的.

在ImageLoader库中,即使您有缓存,在创建项目时,lib会查找某些缓存的图像然后显示它,或者在网络上下载它.

现在,第一次创建映像时,从网络获取映像并缓存它需要一些时间.

其他时候创建它,需要时间,很少的时间来查看缓存并显示它.但它不是即时显示……

总结

以上是内存溢出为你收集整理的android – Universal Image Loader在每次滚动后重新加载图像全部内容,希望文章能够帮你解决android – Universal Image Loader在每次滚动后重新加载图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存