마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

W/Bitmap: Called hasAlpha() on a recycle()'d bitmap! 오류

0 추천

테스트 서버에서 데이터를 Volley로 받아오고 그걸 이미지뷰나 텍스트뷰에 뿌려준 액티비티가 있습니다.

 

이 액티비티에서 버튼을 눌러 마찬가지로 다운로드받은 데이터를 흩뿌려진 프래그먼트를 띄운 후,

 

프래그먼트에 있는 버튼을 눌렀을 때 다른 액티비티로 이동했습니다.

 

문제는 뒤로 돌아가는 것에서 발생했습니다. back 버튼이나 setResult() 후 finish()로 이전 화면(프래그먼트나 액티비티)으로 돌아가려고 하자

 

W/Bitmap: Called hasAlpha() on a recycle()'d bitmap! This is undefined behavior!
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.testohmin.cinemaheaven, PID: 678
    java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@9cb9cde

 

이런 종류의 오류가 떴습니다. 이미지가 문제인 건 알겠는데 어떻게 해야할지 모르겠습니다. 이미지를 AsyncTask로 다운받았고 메모리 해제도 설정해두었는데 이럽니다ㅠㅠ

 

어떻게 해야 할까요? 참고로 에뮬레이터에서 나온 오류입니다.

유령2세 (370 포인트) 님이 2019년 8월 17일 질문

1개의 답변

0 추천
hasAlpha 함수를 recycle된 객체에서 호출했다는 말이네요. 코드 확인해보세요.
rhaps20 (6,010 포인트) 님이 2019년 8월 18일 답변
...