ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 15. 핸들러 (Handler)
    Dev_Study/Android 2018. 1. 29. 14:56
    반응형

    안드로이드에서 UI처리를 위해 사용되는 기본 스레드는 '메인 스레드'라고 부른다

    이 메인 스레드에서 이미 UI에 접근하고있으므로

    새로 생성한 다른 스레드에서는 핸들러 (Handler)객체를 이용해

    메시지를 전달함으로써 메인 스레드에서 처리하도록 만들 수 있다

     

    애플리케이션을 위해 프로세스가 만들어지면 메인 스레드는 최상위에서 관리되는 애플리케이션 객체인

    액티비티, 브로드캐스트 수신자 등과 새로 만들어지는 윈도우를 관리하기 위한 메시지 큐(Message Queue)를

    실행하게 된다.

    이 메시지 큐를 이용해 순차적으로 코드를 수행할 수 있으며

    이렇게 메시지 큐를 이용해 메인 스레드에서 처리할 메시지를 전달하는 역할을 담당하는 것이

    핸들러 클래스

    결국 핸들러는 실행하기를 원하는 특정기능이 있을때 현재 수행되고있는 스레드가 아닌

    메인 스레드에서 실행시키고자 할 때 사용된다

    1. obtainMessage()

    스레드#1에서 핸들러가 관리하는 메시지 큐에서 처리할 수 있는 메시지 객체 하나를 참조한다

     

    2. sendMessage()

    스레드#1에서 참조한 메시지 객체에 필요한 정보를 넣은후 메시지 큐에 넣는다

     

    3. handleMessage()

    메시지 큐에 들어간 메시지는 순서대로 핸들러가 처리하게 된다

    handleMessage()에 들어있는 코드가 수행되는 위치스레드#1이 아닌 메인 스레드

    반응형

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

    16. AsyncTask  (0) 2018.02.07
    안드로이드 앱 아이콘 사이즈  (0) 2018.02.06
    14. 이벤트  (0) 2018.01.29
    13. 프래그먼트 (Fragment)  (0) 2018.01.29
    12. 다이얼로그(Dialog)  (0) 2018.01.26

    댓글

Designed by Tistory.