D/skia: --- decoder->decode returned false
뿌리튼튼 CS/Android2015. 6. 16. 09:27
WTF !!
이것 때문에 이틀을 꼬박 날렸다.
Bitmap bm = BitmapFactory.decodeFile(mPath, options); |
cs |
sd카드의 png 파일을 BitmapFactory.decodeFile()로 읽어오는 라인에서 저 skia가 자꾸 false를 리턴하는 바람에 bm에 자꾸 null이 들어갔다.
구글링하며 오만 방법을 다 적용해봤지만 먹히지 않았고,
결과적으로 아래의 방법으로 해결했다.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Bitmap bm = BitmapFactory.decodeFile(mPath, options); |
cs |
;;;볼수록 화가 난다
이틀을 꼬박 날린 문제가 Sleep으로 해결되다니.
구글링을 통해 파악한 나에게 가장 근접한 문제의 원인은,
Android가 skia라는 디코더를 사용하는데, 이 디코더가 몇몇 단점이 있어서 부하를 잘 견디지 못한다는 것이었다.
즉, 순간적으로 디코딩 작업량이 쌓여 과부하가 걸려 있을 때 디코더를 닫아버리고 false를 리턴한다는 것이다. (누구 맘대로?! ...)
여튼 skia 때문에 문제가 발생한다면 Sleep()을 사용해보시기 바랍니다 ^^;
Sleep 시간은 직접 테스팅하시면서 가장 좋은 시간으로 선택하시면 됩니다.
'뿌리튼튼 CS > Android' 카테고리의 다른 글
화면(screen) 사이즈 구하는 법 (How to get display size) (0) | 2015.06.23 |
---|---|
dp 단위로 set하고 싶을 때 (How to convert dps to pixels) (0) | 2015.06.18 |
File to Byte Array (File을 Byte배열로 변환) (0) | 2015.06.12 |
Android Studio에서 Library 추가시 쓸데없는 Duplicate 오류 대처법 (0) | 2015.06.12 |
[강좌] 초급2 - 버튼 클릭 + 리스너 (0) | 2015.02.15 |