あなたはみなさん、こんにちは、さんが状回にハンドラ機構ではアンドロイド、我々はこの例に行ってきました今回の例であるとしましょう何であったかを教えてください。ゴシップヒューは、ターンを改革の言葉を述べました。レッツ・トークのAndroidになりました!
我々は以前状回の中で分析者、教えてくださいLooper
、私たちは何ジャイラスすることをクラスのソースコードMessage
の種類に実装されたソースコードのframeworks/base/core/java/android/os/Message.java
ファイル。
主なターゲットは、そのメソッドを使用すると、比較的小さい、メッセージタイプの通常の使用を作成することですので、私たちの主な共通のメンバ変数を見てみましょう。ここでは、そのソースコードがあり、我々は唯一の書き込みを省略し、共通のメンバー、その他のコンテンツを一覧表示します。
public final class Message implements Parcelable {
public int what; //用来存放消息类型
public int arg1; //用来存放int类型的消息内容
public int arg2; //用来存放int类型的消息内容
public Object obj; //用来存放Object类型的消息内容
Bundle data; //用来存放Bundle类型的消息内容
Handler target; //用来存放Handler对象
}
私たちがリストされたコメントによって各メンバーの役割を持っている人、教えてください、私は誰もが理解できると信じています。最後に、我々は、使用して検討事項のいくつかの話をしています:
- メッセージの内容は、その後、好ましくは、メッセージの内容を格納するために使用されるint型のARG1とARG2である場合、
- メッセージの内容は、オブジェクトのさまざまな種類がある場合は、変換の種類にメッセージの内容が、有料の注意を保存するために、OBJ使用することができます。
- メッセージの内容は、キーと値のペアの場合、データは、メッセージ内容を格納するために使用することができる、それはGET /のsetData方法と併せて使用されます。その使用状況や通常のクラスseter /同様のgeterは、ここでは詳述しません。
誰が、私に教えていないMessage
クラスだけでなく、関連するMessageQueue
カテゴリ、それは主に背景の仕事で、私たちはキューを使用することができるの両方を理解して、それを扱うHandler
仕組みを、だけでなく、細部にあまりにも多くの注意を必要としない、もはや我々はそう解析MessageQueue
ソースコードのは、興味を持っている私が言えば、あなたはあなた自身の分析を行くことができます。
Androidのハンドラ機構に場合には、我々はここで説明する、としましょう聞く次の分解については、いずれかの例がある、教えてください!