Bitmap recycle의 타이밍.


같은 액티비티 안에서 recycle한 Bitmap을 참조하려고 하면 예외가 발생한다.


Bitmap a = ((BitmapDrawable) getResources().getDrawable(R.drawalbe.xxx1))

Bitmap b = ((BitmapDrawable) getResources().getDrawable(R.drawalbe.xxx1))


// a와 b 어느쪽을 recycle해도 다른 쪽 변수가 영향을 받는다.





Activity1

onCreate 

resource1으로 비트맵 생성

ImageView에 표시

onDestroy

resource1 recycle


Activity2

onCreate

resource1으로 비트맵 생성 (사용가능)







BitmapFactory -> drawable -> Bitmap 은 같은  resource id라도 새로운 인스턴스가 생성되나.

Context -> resource -> drawable -> Bitmap은 캐쉬에서 읽어오기 때문에 같은 인스턴스가 된다.




http://blog.naver.com/PostView.nhn?blogId=prokyhsigma&logNo=120148185960






Posted by tenn
,