相关疑难解决方法(0)

如何使用Universal Image Loader Android强制清除缓存?

我正在使用UIL在listview中加载图像.

当我长按列表视图中的图像时,我会显示一个对话框来修改该图片,使用相机替换为新图片.

如果我拍摄新照片,当对话框被取消时,我的列表视图仍会显示旧图像(因为它已被缓存).如果我在进入listview时关闭并重新启动我的应用程序,则新图像正确存在.

这是我设置UIL的方式:

// Get singletone instance of ImageLoader
    imageLoader = ImageLoader.getInstance();

    //set display options for image loader
    DisplayImageOptions displayOptions = new DisplayImageOptions.Builder()
    .cacheInMemory()
    .displayer(new FadeInBitmapDisplayer(500)) //fade in images
    .resetViewBeforeLoading()
    .build();

    //set image loader options
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).defaultDisplayImageOptions(displayOptions).build();

    // Initialize ImageLoader with configuration.
    imageLoader.init(config);
Run Code Online (Sandbox Code Playgroud)

如果我删除.cacheInMemory()一切工作虽然.我只是想知道在打开对话框时是否可以清除缓存.我试图抓住所选的ImageView并myImageView.invalidate()在打开对话框时调用但没有成功.

图像从文件加载:

// Load and display image asynchronously
imageLoader.displayImage(file_prefix + image_path, image);
Run Code Online (Sandbox Code Playgroud)

有什么建议?

编辑:代码在长按图像时创建上下文菜单,我试图清除那里的缓存:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    //get info …
Run Code Online (Sandbox Code Playgroud)

android universal-image-loader

18
推荐指数
3
解决办法
2万
查看次数

标签 统计

android ×1

universal-image-loader ×1