티스토리 뷰

Mobile/Android

[Android]NetworkOnMainThreadException

out of coding 2014. 9. 25. 16:20

Exception을 덮으려고 한다면, 자신도 모르는 폭탄을 심어두는 것과 같은 이치이다.

뭐 단순하게 Network를 MainThread에서 실행하지 않는다면 발생하지 않는 문제이다.


요지는 무엇이냐면, MainThread에서 오래걸리는 시간. 특히 네트워크 통신들을 하게 된다면, 화면이 블럭당하는 경우가 발생하게 되고,

이럴 경우에 폰이 멈춘것처럼 보이기 때문에 그렇게 개발을 하지 말라고 하여 둔것이다.


위에서 적은것처럼 그냥 new Thread하여서 새로운 Thread를 만들어서 그 안에서 작업을 하면 사라진다.

그러나. 그냥 너무 귀찮아서 저렇게 만드는거 자체도 무리다 싶을 경우에 다음의 코드를 삽입하도록 한다.


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

StrictMode.setThreadPolicy(policy);


onCreate에 추가하여 준다.


다시 한번 말하지만. 스레드 만드는게 귀찮다면... 쩝.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함