마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[안드로이드] 네트워크작업은 무조건 쓰레드 써야되나요?

0 추천
제가 php를 통해 Db에서 데이터 가져오는작업을

평소에 Asynctask 로 하다가 이거 안쓰고 그냥 함수에다가 때려박아서 실행해봤는데

안되더라구요

네트워크는 무조건 쓰레드 써서해야되는건가요?
g22206 (660 포인트) 님이 2018년 7월 24일 질문

4개의 답변

0 추천
 
채택된 답변

StrictMode 를 사용하면 되긴 하니, 무조건은 아닙니다.

하지만  안드로이드 정책상 어플이 멈추는 현상을 막기위해  통신과 같이 오래 걸릴 수 있는 동작을  MainThread에서 동작 시키면 MainThread Exception이 발생하게 한 것이라.

가능하면 AsyncTask 같은것을 통해 동작 되게 수정해주시는게 좋습니다.

익명사용자 님이 2018년 7월 24일 답변
g22206님이 2018년 7월 25일 채택됨
0 추천
네 Main Thread 에서 Network 작업을 하면 오류를 발생 시킵니다.
aucd29 (218,390 포인트) 님이 2018년 7월 24일 답변
0 추천
Main -> Service -> 쓰레드 생성후 사용중입니다.
moonnara (160 포인트) 님이 2023년 6월 10일 답변
0 추천
네트워크 작업이든 아니든 뭐든 쓰레드를 사용합니다.
UI처리는 UI/Main thread, 그외의 작업은 Background/Worker thread라고 보시면 됩니다.
네트워킹 같은 io작업은 무조건 background threa에서 처리를 하시는게 더 좋은 앱을 만드는 방법 중의 하나입니다.
그리고 AsyncTask는 deprecate되었기 때문에 사용을 추천하지 않고 executor나 RxJava같은 라이브러리를 사용하시기 바랍니다.
spark (226,420 포인트) 님이 2023년 6월 12일 답변
...