UI Thread?
AsyncTask를 포스팅 하는데 저 위에 쓰레드들이 거슬린다.
그래서 찾아보니
안드로이드의 메인스레드는 주요 컴포넌트를 실해하는 곳이면서, UI Thread를 갱신하거나 수행하는 유일한 Thread 이다. 그래서 메인 스레드를 UI Thread라고 부르는 경우도 있다.
AsyncTask 아니 이놈은 왜? 써야할까
서칭하면 대부분 httpConnetction을 사용과 함께 십중팔구 AsyncTask를 사용한다.
AsyncTask 흐름과 구성 설명으로는 내 궁금증이 해소되지 않는다.
그렇기에 찾아봤다.
안드로이드 화면에서 View ViewGroup은 싱글스레드 모델을 원칙으로 돌아간다. 긴 시간이 걸리는 작업을 메인 Thread에서 담당한다면 애플리케이션 반응성이 떨어질 수 있고, 사용자의 불편함이 증가한다. 그래서 긴 작업에 대한 접근으로 여분의 스레드를 메인 Thread와 분리
해야 하고,메인 Thread와 다른 쓰레드간 통신하는 방법이 필요하게 된다.
HandlerThread, Thread 등을 관리해야 하는 코드를 작성해야 한다.
다만 AsyncTask를 사용하면 가독성도 높아질 수 있고 쓰레드에 대한 개념을 알고 사용하면 좋겠지만 잘 모르는 사람도 캡슐화가 잘 되어있어서 사용가능하다.
궁금증 해결 완료! !
-끝-
참고
https://academy.realm.io/kr/posts/android-thread-looper-handler/
https://itmining.tistory.com/5
댓글 없음
댓글 쓰기