編輯:Android開發實例
前言
本章內容是android.os.MessageQueue,版本為Android 3.1 r1,翻譯來自"strongxu"。
MessageQueue
譯者署名: strongxu
譯者微博:http://t.qq.com/strongxu
版本:Android 3.1 r1
結構
繼承關系
public class MessageQueue extends Object
java.lang.Object
android.os.MessageQueue
類概述
保存消息列表的低級別類,這些消息由Looper對象派發。消息並不是直接添加到MessageQueue中的,而是通過與Looper對象關聯的MessageQueue.IdleHandler對象添加的。
調用Looper.myQueue方法可以獲取當前線程的MessageQueue。
公共方法
public final void addIdleHandler (MessageQueue.IdleHandler handler)
向消息隊列中添加一個新的MessageQueue.IdleHandler。當調用IdleHandler.queueIdle()返回false時,此MessageQueue.IdleHandler會自動的從消息隊列中移除。或者調用removeIdleHandler(MessageQueue.IdleHandler)也可以從消息隊列中移除MessageQueue.IdleHandler。
此方法是線程安全的。
參數
handler 要添加的IdleHandler。
public final void removeIdleHandler (MessageQueue.IdleHandler handler)
從隊列中移除之前調用addIdlehandler(MessageQueue.IdleHandler)添加的MessageQueue.IdleHandler。如果handler不在當前的空閒列表,不做任何事。
參數
handler 要移除的IdleHandler。
受保護方法
protected void finalize ()
在對象被VM回收之前調用。只有當垃圾回收器檢測到運行的所有線程都不再使用此對象時才會出現。
在對象被垃圾回收之前,此方法可以用來釋放系統資源或者做其他的清理工作。默認的此方法實現是空的,這也是VM所期望的,但是子類可以重寫此方法。在此方法執行是拋出的未捕獲異常會導致程序立即結束,否則則會忽略異常。
注意,VM會保證任何對象的finalize方法最多調用一次,但是它不會保證何時(或者是否)會調用finalize。例如,對象B的finalize方法可以推遲執行對象A的finalize,因此它會導致推遲回收A的內存空間。為了安全,使用ReferenceQueue,因為在垃圾回收時,它在VM處理引用的方式上提供了更多的控制方法。
補充
文章精選
android線程 Handler Message Queue AsyncTask線程模型
Android中的Handler, Looper, MessageQueue和Thread
大家在進行其他語言的編程時應該都見過甚至用過標簽組件,Android開發中也經
本文實例講述了Android編程實現ImageView圖片拋物線動畫效果的方法。分享給大家供大家參考,具體如下: 想實現拋物線動畫,必須知道拋物線的方程,這時候數
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
最近在寫一個應用,想把設置頁面和應用頁面放在一起,這樣就能實現用戶可以實時看到自己的設置對UI的影響,從而更方便的設置用戶喜歡的界面。想了一段時間,發現用slid