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

[android] Activity 호출시 발생하는 !!! FAILED BINDER TRANSACTION !!! 해결법.

by 돼지왕 왕돼지 2012. 10. 25.
반응형

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 ); 








반응형

댓글