바르고 뜨겁게

[안드로이드] 글라이드(Glide) 아웃오브메모리 방지, 메모리 최적화 본문

안드로이드

[안드로이드] 글라이드(Glide) 아웃오브메모리 방지, 메모리 최적화

RightHot 2019. 4. 5. 09:13


글라이드 라이브러리를 사용함에도 OOM(아웃오브메모리)를 만나게될때가 있다.

그럴땐 아래와 같이 처리해주면 아웃오브메모리를 해결할 수 있다.


1. Activity를 상속받는 class 에서 아래 코드를 추가한다.

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


@Override
public void onTrimMemory(int level) {
   super.onTrimMemory(level);
   Glide.get(this).trimMemory(level);
}


2. Adapter 내에서 Glide를 사용할경우 Glide를 재사용한다.

2-1. adapter 생성시 Glide 객체를 넘겨준다.
AdapterParkList adapterParkList = new AdapterParkList(mContext,Glide.with(mContext));

2-2. adapter 내에서 아래 코드를 추가한다.
    private final RequestManager glide;

   public AdapterParkList(Context context, RequestManager glide) {
       this.mContext = (Activity) context;
       this.glide = glide;
  }


Comments