프로그래밍/안드로이드

Glide에서 디스크 캐쉬 사용하지 않게 하는 방법

Invincible Cooler 2016. 9. 28. 17:39

Glide를 디폴트로 사용하면 메모리 캐시와 디스크 캐시를 자동으로 생성하여, 사용을 합니다.


그런데 가끔 디스크 캐시를 사용하지 않도록 필요할 때가 있습니다. 이때 방법은


GlideModule interface를 구현한후 applyOptions의 builder에 setDiskCache 를 DiskCache null을 리턴하도록 하면 됩니다.


예를 들면 GlideModule 에서


@Override

    public void applyOptions(Context context, GlideBuilder builder) {

        builder.setDiskCache(new NullCacheDiskCacheFactory());

    }

}


public static NullDiskCache sCache = new NullDiskCache();


    @Override

    public DiskCache build() {

        return sCache;

    }

}


public class NullDiskCache implements DiskCache {

    @Override

    public File get(Key key) {

        // no op, default for overriders

        return null;

    }


    @Override

    public void put(Key key, Writer writer) {

        // no op, default for overriders

    }


    @Override

    public void delete(Key key) {

        // no op, default for overriders

    }


    @Override

    public void clear() {

        // no op, default for overriders

    }

}