[解決済み] AndroidにおけるLooper、Handler、MessageQueueの関係とは?
質問
Androidの公式ドキュメント/ガイドを確認したところ
Looper
,
Handler
と
MessageQueue
. しかし、私はそれを得ることができませんでした。私はアンドロイドの初心者で、これらの概念で非常に混乱しました。
どのように解決するのですか?
A
Looper
はメッセージ処理ループです。
MessageQueue
. は
Looper
クラスは通常
HandlerThread
(のサブクラス)。
Thread
).
A
Handler
との対話を容易にするユーティリティクラスです。
Looper
-主にメッセージの投稿と
Runnable
オブジェクトをスレッドの
MessageQueue
. を指定すると
Handler
が作成されると、それは特定の
Looper
(および関連するスレッドとメッセージキュー)にバインドされます。
典型的な使用法では
HandlerThread
を作成し、次に
Handler
オブジェクトを作成し、それによって他のスレッドが
HandlerThread
インスタンスと対話することができます。このオブジェクトは
Handler
を実行中に作成する必要があります。
HandlerThread
を使用できるスレッドに制限はありませんが、一旦作成された後は
Handler
のスケジューリングメソッド (
post(Runnable)
など)
Androidアプリケーションのメインスレッド(通称:UIスレッド)は、アプリケーションのインスタンスが生成される前にハンドラースレッドとして設定されます。
クラス ドキュメントとは別に、これらすべてに関する素晴らしい議論があります。 ここで .
追伸:上記のクラスはすべてパッケージの
android.os
.
関連
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] Looperの目的、使い方を教えてください。
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] google-services.jsonって実際何してるの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Looperの目的、使い方を教えてください。
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] キャンバスに複数行のテキストを描画する
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?