반응형
Activity 호출시 발생하는 !!! FAILED BINDER TRANSACTION !!! 해결법.
- startActivity 나 startActivityForResult 를 통해서 activity 를 실행시킬 때, 간혹가다 다음과 같은 결과를 볼 수 있습니다.
E/JavaBinder(199): !!! FAILED BINDER TRANSACTION !!!
- 저는 Gallery 로부터 Crop 된 이미지를 가져오는 데 이런 에러가 발생하며, 해당 앱의 프로세스가 미친듯이 늘어나는 현상을 겪었습니다.
원인
- android 에서는 intent 를 통해 전달할 수 있는 데이터 양이 100KB 로 제한되어 있습니다.
- 저는 Gallery 로부터 큰 이미지를 가져와서 100KB 를 넘겨서 발생한 문제로 보입니다. ( result 로 전달되는 intent의 사이즈가 100KB 가 넘어버린 것이죠. )
해결책
- 원인을 알았으니 당연히 intent 로 전달되는 데이터 양을 100KB 이하로 줄이면 됩니다.
- Gallery 로부터 이미지를 가져오는 경우에는 아래와 같이 output 의 크기를 작게 해주면 해결됩니다
intent.putExtra( "outputX", 100 );
intent.putExtra( "outputY", 100 );
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] HTC date picker - custom widget (0) | 2012.10.25 |
---|---|
[android] date slider - custom widget (0) | 2012.10.25 |
[android] sdk 설치 및 update 시 File not found : android-sdk\temp\support_r10.zip (액세스가 거부되었습니다) 해결법 (0) | 2012.10.20 |
[android] ListVIew 클릭시 focus 유지하는 방법. (0) | 2012.10.19 |
[android] 최고의 debug helper!! stack trace 찍는 코드 (1) | 2012.10.19 |
댓글