태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
2012.11.09 14:57



android.os.NetworkOnMainThreadException

- 해당 Exception 은 Network 관련된 operation 을 Main Thread 에서 수행했을 때 발생하는 Exception 이다. 해당 Exception 은 진저브레드 ( 2.3.3 )에서는 발생하지 않았고, ICS ( 4.0.0 )부터 발생을 하기 시작한다. 필자가 진저와 ICS 단말 둘다에서 테스트해본 결과 진저에서는 발생하지 않던 exception 이 ICS 에서 발생했기 때문이다. 이는 Strict mode 라는 것이 등장했기 때문.

- 원인은 말 그대로 Network 관련 operation 을 main thread 에서 했기 때문이다. 추가로 strict mode 가 설정되었기 때문이다.


- 해결책은 2가지가 있다.

1. network operation 을 async task 나 다른 thread 로 작업한다.

2. StrictMode 의 ThreadPolicy 해제한다.

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy);  





도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )




저작자 표시 비영리 변경 금지
신고

댓글을 달아 주세요


Posted by 돼지왕왕돼지

티스토리 툴바