HandlerThread
기본적으로 Thread 를 사용하기 위해서 Looper 를 생성해줘야 하는데, HandlerThread 를 이용하면 Looper 를 자동으로 가지고 있는 클래스를 제공한다.
HandlerThread handlerThread = new HandlerThread("HandlerThread");
handlerThread.start();
Handler handler = new Handler(handlerThread.getLooper());Handler handler = new Handler(handlerThread.getLooper(), Handler.Callback);
handler.sendEmptyMessage(0);
....
HandlerThread 객체를 생성하고 start() 를 한다. start()만 하면 Looper를 생성하기 때문에, handlerThread.getLooper() 를 통해서 Looper 를 가져온다. 그리고 handler 를 실행한다. Handler 의 메세지에 따른 처리를 별도로 하려면 위의 파란색 라인같이 Handler.Callback 을 넣고 구현체를 만들면 된다.
GitHub : https://github.com/wlgnsdi/HandlerThread
참고
: https://stackoverflow.com/questions/25094330/example-communicating-with-handlerthread
: https://blog.mindorks.com/android-core-looper-handler-and-handlerthread-bd54d69fe91a
: https://academy.realm.io/kr/posts/android-thread-looper-handler/
'Dev > Android' 카테고리의 다른 글
Android 공부 (0) | 2017.12.08 |
---|---|
지금은 공부중..... (백그라운드 스레드) (0) | 2017.11.28 |
Thread 중복 사용은 성능 나쁜 디바이스한테 안돼! (0) | 2017.11.23 |
Android Notification 설정 - Head Up (0) | 2017.11.15 |
ExapandableListView 사용 (0) | 2017.11.14 |