3
メッセージキューのサイズを調べる方法はありますか、各メッセージにはどのアイテムがありますか?それはLooper.getMainLoop
か何か?アンドロイドのメッセージキューに保留中のメッセージはどこにありますか?
メッセージキューのサイズを調べる方法はありますか、各メッセージにはどのアイテムがありますか?それはLooper.getMainLoop
か何か?アンドロイドのメッセージキューに保留中のメッセージはどこにありますか?
答えが遅すぎることはないと思います。現在のスレッドのメッセージキューにアクセスして、Looper.myQueue()を呼び出すことができます。ただし、MessageQueueクラスには、メッセージのサイズや各メッセージ内のアイテムを調べるメソッドがありません。そのために、Handlerクラスを試すことができます。ハンドラはキューを持つルーパーを管理し、そのハンドラはhasMessages、obtainMessage、removeMessagesなどのメソッドを持っています。私はそれがあなたの最高のショットだと思う。
あなたのアプリのメッセージキューを使いこなすべきではありません。少なくともメインのUIスレッドではありません。メッセージキューを実際にメッセージを送信して適切に処理できるヘルパースレッドのようなものを探すのは理にかなっています。しかし、メインのUIスレッドメッセージキューに触れることは、あまりにも多くの理由がないためです。 –
こんにちはクリストファー、ご返信ありがとうございます。あなたは少なくともメッセージのキューにあるアイテムの数を調べる方法を教えてもらえますか?またはそれを検査して、もし私がそれを取り消すことができるならば? – user1118019
メッセージキューは不透明です。あなたのメインアプリケーションのメッセージキューを見ようとしているなら、それはあなたが扱うことに意味がない(つまり、あなたがそれを混乱させようとした場合、あなたのアプリがクラッシュするかもしれない、メッセージキューは、メッセージオブジェクトだけでなく、送信インテントなどにも使用されます)。ドキュメントを見れば、これを行う方法はありません:http://developer.android.com/reference/android/os/Looper.html、http://developer.android.com/reference/android/os /MessageQueue.html –