Glide加载了旧图片。

6

我有一个问题,每次我拍照并尝试显示时,Glide都会加载旧文件。我检查本地文件,已成功更改,但显示的仍然是旧图像。

这是我的代码:

  public void onCameraCaptureCompleted(final File photoFile) {
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                stopCamera();
                pickedImg.setImageBitmap(null);
                Glide.with(TakePhotoFragment.this)
                        .load(photoFile)
                        .asBitmap()
                        .dontAnimate()
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .into(pickedImg);
            }
        });

    }

谁知道如何解决这个问题?
3个回答

9

尝试使用skipMemoryCache

允许加载的资源跳过内存缓存。

.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)   

注意

如果仍然出现相同的问题,请使用clearMemory()。 为了更好的方法,创建应用程序类并添加此内容。

public class RootApplication extends Application 
{
   @Override public void onLowMemory() {
    super.onLowMemory();
    Glide.get(this).clearMemory();
}

请确保在Manifest中添加了这个Application类。
<application
    android:name=".RootApplication"
 >

0
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)

这对我来说很有效。


0

您可能想要清除存储的缓存,然后手动重新启动应用程序

或者

仅从代码中清除缓存。只需在Glide上调用clearMemory()即可。

在此处查看更多信息

文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接