Android中文API(127) —— MessageQueue

來源:互聯網
上載者:User

 

前言

  本章內容是android.os.MessageQueue,版本為Android 3.1 r1,翻譯來自"strongxu",歡迎訪問他的微薄"http://t.qq.com/strongxu",再次感謝"strongxu"!歡迎你一起參與Android的中文翻譯,聯絡我over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:)

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://goo.gl/6vJQl

 

 

 

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

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.