2012-02-28 37 views
3

有沒有辦法找出消息隊列大小以及每條消息中的項目?是Looper.getMainLoop什麼的?我在哪裏可以在android的消息隊列中找到掛起的消息?

+0

你不應該搞亂你的應用程序的消息隊列。至少不是主UI線程。查看消息隊列中的幫助程序線程是有意義的,您可以在其中真正發送消息並正確處理它們。但是,觸摸主UI線程消息隊列是你並沒有太多理由這麼做的。 – 2012-02-28 07:44:15

+0

嗨Kristopher,謝謝你的回覆。但至少能告訴我如何找出信息quourue上有多少物品?或檢查它,以便我可以取消它,如果我需要? – user1118019 2012-02-28 16:22:01

+0

消息隊列是不透明的。如果你想看看你的主應用程序的消息隊列,它會有一堆垃圾,這對你來說沒有任何意義(例如,如果你試圖弄亂它,你的應用程序會崩潰,消息隊列用於傳出意圖等等,而不僅僅是消息對象)。沒有辦法做到這一點,如果你看看文檔:http://developer.android.com/reference/android/os/Looper.html,http://developer.android.com/reference/android/os /MessageQueue.html – 2012-02-28 16:25:57

回答

0

希望答案不晚。您可以訪問當前線程的消息隊列,在其上調用Looper.myQueue()。但是,MessageQueue類沒有方法來查找其大小或每條消息中的項目。爲此,您可以嘗試Handler類。一個處理程序管理一個循環,它有一個隊列,並且該處理程序具有像hasMessages,obtainMessage,removeMessages等方法。我認爲那是你最好的選擇。