サーチ…


前書き

Looperはスレッドにメッセージループを実行するために使用されるAndroidクラスです。通常、スレッドに関連付けられているスレッドはありません。

Androidで最も一般的なLooperはメインループで、一般にメインスレッドとも呼ばれます。このインスタンスはアプリケーション固有のもので、 Looper.getMainLooper()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