2012-02-28 3 views
3

メッセージキューのサイズを調べる方法はありますか、各メッセージにはどのアイテムがありますか?それはLooper.getMainLoopか何か?アンドロイドのメッセージキューに保留中のメッセージはどこにありますか?

+0

あなたのアプリのメッセージキューを使いこなすべきではありません。少なくともメインのUIスレッドではありません。メッセージキューを実際にメッセージを送信して適切に処理できるヘルパースレッドのようなものを探すのは理にかなっています。しかし、メインのUIスレッドメッセージキューに触れることは、あまりにも多くの理由がないためです。 –

+0

こんにちはクリストファー、ご返信ありがとうございます。あなたは少なくともメッセージのキューにあるアイテムの数を調べる方法を教えてもらえますか?またはそれを検査して、もし私がそれを取り消すことができるならば? – user1118019

+0

メッセージキューは不透明です。あなたのメインアプリケーションのメッセージキューを見ようとしているなら、それはあなたが扱うことに意味がない(つまり、あなたがそれを混乱させようとした場合、あなたのアプリがクラッシュするかもしれない、メッセージキューは、メッセージオブジェクトだけでなく、送信インテントなどにも使用されます)。ドキュメントを見れば、これを行う方法はありません:http://developer.android.com/reference/android/os/Looper.html、http://developer.android.com/reference/android/os /MessageQueue.html –

答えて

0

答えが遅すぎることはないと思います。現在のスレッドのメッセージキューにアクセスして、Looper.myQueue()を呼び出すことができます。ただし、MessageQueueクラスには、メッセージのサイズや各メッセージ内のアイテムを調べるメソッドがありません。そのために、Handlerクラスを試すことができます。ハンドラはキューを持つルーパーを管理し、そのハンドラはhasMessages、obtainMessage、removeMessagesなどのメソッドを持っています。私はそれがあなたの最高のショットだと思う。

関連する問題