룬아님의 취중코딩

Glide 커스텀 cache key로 cache 하기 본문

개발/안드로이드 개발

Glide 커스텀 cache key로 cache 하기

룬아님 2019. 9. 30. 16:19

Glide를 사용하면 url을 key로 사용하여 이미지를 캐시한다.

그런데 보안을 이유로 dynamic url을 사용하여 매번 url이 교체되면 매번 다른 이미지로 인식하여 엄청난 속도로 저장소 사용량이 증가한다.

그때는 개발자가 임의로 해당 이미지에 맞는 캐쉬 키를 지정하여 개발할 수 있다.

 

GlideUrlWithCacheKey.java : 

import androidx.annotation.NonNull;

import com.bumptech.glide.load.model.GlideUrl;
import com.bumptech.glide.util.Preconditions;

public class GlideUrlWithCacheKey extends GlideUrl {
    private String url;
    private String cacheKey;

    public GlideUrlWithCacheKey(String url, String cacheKey) {
        super(url);

        Preconditions.checkNotNull(url);
        Preconditions.checkNotEmpty(url);

        Preconditions.checkNotNull(cacheKey);
        Preconditions.checkNotEmpty(cacheKey);

        this.url = url;
        this.cacheKey = cacheKey;
    }

    @Override
    public String getCacheKey() {
        return cacheKey;
    }

    @NonNull
    @Override
    public String toString() {
        return url;
    }
}

 

사용법 : 

Glide.with(activity).load(new GlideUrlWithCacheKey(url, key))
반응형
Comments