Android Async

2018. 1. 17. 21:28Study/Android

728x90

Android Async

(HandlerThread, AsyncTask, RxAndroid)

* 병렬 처리가 가능하지만 스레드가 과도하면 속도를 느리게 할 수 있다.

  • HandlerThread
- Looper 보유한 클래스 제공
- 내부에 Message Queue 함께 생성
- 액티비티의 수명주기를 벗어나 실행되므로 정리 필수
- 결과를 메인 스레드에 반환하지 않음
  • AsyncTask
- 캡슐화가 잘 되어 있음
- 사용시의 가독성 좋음
- UI 갱신 및 스케쥴 관리
- 메인 쓰레드 에서만 호출 및 실행 필요
- 이미 사라진 UI 참고로 메모리닉 발생 가능성 있음
- 병렬 메서드(executeOnExecutor)를 사용 안하면 순차적 처리로 진행 
  • RxAndroid
- 순차적으로 실행되는 비동기 통신
- 연속 클릭 이벤트 중복 실행 제어
- 콜백시 이미 사라진 화면에 대한 null처리 예외
- 다양한 Thread 관리 형식


출처 : 

https://academy.realm.io/kr/posts/android-thread-looper-handler/

https://developer.android.com/reference/android/os/Handler.html

http://mailmail.tistory.com/12

https://blog.mindorks.com/android-core-looper-handler-and-handlerthread-bd54d69fe91a

https://medium.com/@ali.muzaffar/handlerthreads-and-why-you-should-be-using-them-in-your-android-apps-dc8bf1540341

https://developer.android.com/reference/android/content/AsyncTaskLoader.html

https://www.slideshare.net/StellaKim9/rxandroid-71638745

728x90

'Study > Android' 카테고리의 다른 글

Android 저장소 옵션(Repository Option)  (0) 2018.01.30
Android 앱 구성 요소(Component)  (0) 2018.01.29
Android Async  (0) 2018.01.17
Android ART & DVM & JVM  (0) 2018.01.12
Android Platform (Architecture)  (0) 2018.01.09
Android Platform (Version Fragmentation & DPI)  (0) 2018.01.05