안드로이드 핸들러와 자바 핸들러의 차이점?


Android/안드로이드 프로그래밍 2011. 12. 13. 10:03



안드로이드의 핸들러 ( handler )
A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. 

자바의 핸들러
A Handler takes LogRecord objects from a Logger and, if their severity level is high enough, formats and publishes them to some destination (a file or socket, for example). The subclasses of this abstract class support various destinations, and implement destination-specific publish( ), flush( ) and close( ) methods.

P.S 구글링을 하다 안드로이드와 자바의 핸들러 차이에 대해 기술한 안사의 문서를 보고 포스팅합니다.

핸들러란, 안드로이드를 중심으로 이야기하면 순차적으로 들어오는 프로세스 명령이나 메세지를 처리하는 동안 사용자에게 프로그레스바 등을 띄우면서 안에서 해결하는 것을 이야기 합니다. 조금 애매한 설명이긴 하지만, 백그라운드에서 세션을 연결하고 세션에서 받아온 정보를 화면에 띄운다고 생각했을 때, 연결하고 받아오는 동안 사용자가 UI에서 아무 버튼을 막 누른다거나, 혹은 화면이 움직이지 않는다고 터치를 마구 해버리면, Exception 에러가 뜨면서 어플 자체가 죽는 경우가 있을 수도 있는데, 이런 것을 핸들러와 쓰레드로 처리를 해줍니다. 그렇기 때문에 당연히 안드로이드에서는 핸들러와 쓰레드가 밀접한 관계를 맺고 있습니다.

 자바의 핸들러와 안드로이드 핸들러는 이름은 같지만, 상위 클래스는 다릅니다. 안드로이듸 경우에는 핸들러 생성시 내부에 별도 쓰레드가 생성, 쓰레드안에서 순차적으로 메시지를 처리합니다. 자바의 핸들러에 대해선 정확하고 명확하게 설명하기가 힘드네요. (혹시 정확하게 아시는 분은 댓글 부탁드립니다^^)

 안드로이드에서 핸들러는 쉽게 말해 처리하는 부분을 이야기 합니다.
삼성전자 갤럭시 S20 플러스 자급제폰, 코스믹 그레이, 256GB Apple 에어팟 프로 (노이즈캔슬링 방수 블루투스 5), MWP22KH/A, 단일 색상 삼성전자 갤럭시탭S6 10.5 128G WIFI, SM-T860N, 마운틴 그레이

WRITTEN BY
ShakeJ

트랙백  0 , 댓글  0개가 달렸습니다.
secret