【问题标题】:android universal image loader安卓通用图片加载器
【发布时间】:2013-03-09 08:16:09
【问题描述】:

我有自定义 ListFragment 和自定义 ListAdapter 和四个带有其他内容的导航选项卡。我需要显示一些需要从 Fragment 中的 URL 下载的图像。

我尝试使用Universal Image Loader。它工作正常,但它似乎没有兑现我的文件,虽然我已经设置好了。每次我打开另一个选项卡然后返回到这个图像时,都会重新开始下载。

我正在从ListAdaptergetView() 拨打displayImage(String url, ImageView view, DisplayImageOptions options)

问题

如何让 UIL 在每次重新创建 ActivitiyFragment 时不下载图像?

DisplayImageOptions options = new DisplayImageOptions.Builder()
    .showStubImage(R.drawable.blue_background)
    .cacheInMemory()
    .cacheOnDisc()
    .build();
    imageLoader.init(ImageLoaderConfiguration.createDefault(context));

【问题讨论】:

    标签: android caching universal-image-loader


    【解决方案1】:

    您确定它会再次下载图像吗?除非您指定了较小大小的磁盘缓存,否则不应发生这种情况,或者因为它仅将图像保存在内存中,当达到您为内存指定的最大大小时,它会删除旧图像! 尽量不要使用 inMemory 缓存而只使用磁盘缓存,并尝试指定更多时间来加载图像,默认值为 1000 毫秒:

    options = new DisplayImageOptions.Builder()
        .showStubImage(R.drawable.ic_empty)
        .showImageForEmptyUri(R.drawable.ic_empty)
        .showImageOnFail(R.drawable.ic_empty)
        .resetViewBeforeLoading()
        .cacheOnDisc()
        .imageScaleType(ImageScaleType.IN_SAMPLE_INT) // default
        .bitmapConfig(Bitmap.Config.RGB_565) // default
        .displayer(new SimpleBitmapDisplayer()) // default
        .handler(new Handler()) // default
        .build();
    

    【讨论】:

    • 我没试过,但你的答案可能是对的。我只是没有在这个项目上工作,而是使用 AQuery 来处理这些事情。
    猜你喜欢
    • 2016-07-08
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多