Android
ルーパー
サーチ…
前書き
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