본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] bitmap recycle 사용시 주의사항.

by 돼지왕 왕돼지 2014. 4. 2.
반응형


 android, bitmap recycle 사용시 주의사항.

 

[android] bitmap recycle 사용시 주의사항.


알고 있었나?

Bitmap.recycle() 은 async 였다... 음...

따라서 만약에 Cache 를 사용하는 상황에서, 한 ImageView 에 Bitmap 을 여러번 assign 하면서 Bitmap.recycle() 을 동시에 호출한다면 예를 들어.. 아래와 같이 하면 recycled bitmap 을 사용했다고 exception 이 날 수 있다.


for( int i=0; i < 5; i++ ){

   runOnUiThread( new Runnable(){

public void run(){

BitmapHelper.recycleBitmap ( imageView ); // my helper class.

AsyncImageSetter.setImage( imageView, "http://imageurl" );

}

   });

}


이와 같은 일이 언제 있냐고?

보통 listview 의 item 에 bitmap 을 사용할 때 발생할 수 있다.

왜냐면 가끔 getView 가 position 0 에 대해 여러번 불리는 상황들이 있다.






반응형

댓글