수색…


소개

Looper 는 스레드와 관련된 메시지 루프를 실행하는 데 사용되는 Android 클래스로, 일반적으로 스레드 루프와 관련된 루프가 없습니다.

안드로이드에서 가장 흔한 Looper 는 주 루프 (main-loop)이며, 메인 쓰레드라고도 알려져 있습니다. 이 인스턴스는 응용 프로그램에 고유하며 Looper.getMainLooper() 하여 정적으로 액세스 할 수 있습니다.

Looper 가 현재 스레드와 연관되어 있으면 Looper.myLooper() 하여 검색 할 수 있습니다.

간단한 LooperThread 만들기

공식 문서에서 제공하는 Looper 스레드 구현의 전형적인 예는 Looper.prepare()Looper.loop() 하고 이러한 호출 사이의 루프에 Handler 를 연결합니다.

class LooperThread extends Thread {
    public Handler mHandler;

    public void run() {
        Looper.prepare();

        mHandler = new Handler() {
            public void handleMessage(Message msg) {
                // process incoming messages here
            }
        };

        Looper.loop();
    }
}

HandlerThread를 사용하여 루프 실행

HandlerThread 를 사용하여 Looper 로 스레드를 시작할 수 있습니다. 그런 다음이 루퍼를 사용하여 통신하는 Handler 를 만들 수 있습니다.

HandlerThread thread = new HandlerThread("thread-name");
thread.start();
Handler handler = new Handler(thread.getLooper());


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow