티스토리 뷰
Android/library
[Android Glide library] You cannot start a load for a destroyed activity
Gibson 김형섭 2016. 4. 19. 13:09안드로이드 이미지로드 library인 Glide를 사용하다보면
java.lang.RuntimeException: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
라는 에러친구를 만날 수 있다.
Glide.with(MainActivity.this)
Glide는 이와같이 이미지로드시 파라미터로 Activity를 받게 되어있는데
비동기방식으로 이미지로드 함수가 실행되고 액티비티가 바로 종료되면 파라미터로 넘겨준 Activity가 이미 destory된 상태이기때문에
발생하는 에러이다 해결방법은 이렇다.
Activity activity = MainActivity.this;
if (activity.isFinishing())
return;Glide.with(MainActivity.this)
이미지를 로드하기 전 액티비티가 종료되어있는지 체크하여 처리한다.
파라미터로 context값을 받을경우
Activity activity = (Activity) context;
if (activity.isFinishing())
return;
이런식으로 처리해주면 된다.
'Android > library' 카테고리의 다른 글
안드로이드 ViewPager indicator library (2) | 2017.08.25 |
---|---|
retrofit2 , rxjava Null is not a valid element (0) | 2017.05.25 |
retrofit2 error body를 객체로 변환하는법 (0) | 2017.02.02 |
[retrofit + rxjava] errorbody를 객체로 변환하는법 (0) | 2016.11.17 |
댓글