반응형
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 에 대해 여러번 불리는 상황들이 있다.
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
Android 놓치기 쉬운 안드로이드 성능 향상 팁 (0) | 2014.04.03 |
---|---|
[android] video recording duration limit setting. (0) | 2014.04.03 |
[android] make screen awake, no sleep (2) | 2014.04.01 |
더 안정적인 GCM 구현을 위해 주의할 점. (2) | 2014.03.31 |
[Java] Double-checked locking 을 사용하지 말자! (1) | 2014.03.31 |
댓글