안드로이드 looper, handler, thread

8
NHN NEXT Eunjoo Im Android Looper- Hanlder N H N N E X T Android Advanced

Upload: eunjoo-im

Post on 12-Apr-2017

1.169 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

A n d r o i d

L o o p e r -

H a n l d e r

N H N N E X T

A n d r o i d A d v a n c e d

Page 2: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

Looper-Hanlder사용 목적

두개이상의 thread 사용시동기화이슈를차단

Android는 main thread ( = UI thread)에서만 UI 작업을허용

Handler를통해 Message나 Runnable 객체를전달하면 thread가내부적으로가지는 Looper 안의Message Queue에넣어순차적으로작업을진행하는구조

Page 3: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

Looper-Hanlder구조

그림출처: http://blog.naver.com/kimyow/50119087926

Thread 내부의 Message Queue에쌓인Message/runnable를Looper가꺼내고Handler의 handlerMessage() 로처리

다른 Thread는 Handler의sendMessage()로

Message나 Runnable을목적 Thread의Message Queue로전달

Page 4: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

LooperHanlderMessage

Queue에들어갈Job 단위

처리해야할코드 Parcelable을상속 다른 Process로

전달가능한데이터

Message를Queue에넣거나Queue에서뺌

Message의처리시간설정(기본값: 순차)

반복적으로루프를돌면서Message Queue에서 Message를하나씩꺼내서실행시킴

Page 5: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

Handler Thread구조

그림출처: http://cafe.daum.net/_c21_/bbs_search_read?grpid=1MWA2&fldid=aAfL&datanum=98&docid=1MWA2%7CaAfL%7C98%7C20110704111711

일반적인 Thread를확장내부에반복해서루프를도는 Looper를가지며Looper는내부에 Message Queue를가짐Message Queue는 Message/Runnable를가짐Thread를 HandlerThread로생성하면 Looper와 MQ가함께생성

Page 6: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

AsynkTask구조

그림출처: http://cafe.daum.net/_c21_/bbs_search_read?grpid=1MWA2&fldid=aAfL&datanum=98&docid=1MWA2%7CaAfL%7C98%7C20110704111711

UI 작업을위해 Message를생성하고 Handler를통해보내는작업을간소화한클래스UI 작업을위한 Callback 함수제공

AsyncTask 상속받아구현

Page 7: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

참고자료

http://developer.android.com/reference/android/os/Looper.htmlhttp://developer.android.com/reference/android/os/Handler.htmlhttp://developer.android.com/reference/android/os/Message.html

Android Developers

http://cafe.daum.net/_c21_/bbs_search_read?grpid=1MWA2&fldid=aAfL&datanum=98&docid=1MWA2%7CaAfL%7C98%7C20110704111711

슈퍼드로이드안드로이드기본강좌Activity에대해서 - Thread 와 Android Main Thread

http://blog.naver.com/kimyow/50119087926

안드로이드 Handler 이야기- Handler와 Looper

Page 8: 안드로이드 Looper, handler, thread

NHN NEXT Eunjoo Im

ThankYou