티스토리 뷰

안드로이드 이미지로드 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;

이런식으로 처리해주면 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함