Android類參考—HandlerThread

來源:互聯網
上載者:User

1.  繼承關係

java.lang.Object

|______java.lang.Thread

          |______android.os.HandlerThread

2.  類概要

這個類能夠方便的啟動一個新的線程,這個線程帶有一個訊息迴圈。這個訊息迴圈能夠被用來建立Handler類及其子類。要注意的是,線程的start()方法必須依然要被調用。

這個類繼承自java.lang.Thread類。

Public
構造器如下:

A. HandlerThread(String name)

B. HandlerThread(String name, int priority)

Public方法如下:

A. getLooper():這方法返回一個跟線程關聯的Looper對象

B. getThreadId():這個方法返回本線程的標示。

C. quit():請求退出當前正在啟動並執行訊息迴圈。

D. run():調用接受者所持有的Runnable對象的run()方法。

Protected方法:

onLooperPrepared():它是一個回調方法,如果在啟動訊息迴圈之前,需要執行一些安裝任務,那麼可以明確的重寫這個方法。

繼承的方法:

這個類繼承了以下三個類的方法:

A. java.lang.Thread

B. java.lang.Object

C. java.lang.Runnable

3. 構造器說明:

public HandlerThread(String name)

public HandlerThread(String name, int priority)

這兩個構造器都能夠建立一個HandlerThread對象。

參數說明:

    priority:定義線程啟動並執行優先順序。這個值必須是android.os.Process類所支援的值,而不是來自java.lang.Thread類。

4. Public方法說明

    A.public Looper getLooper()

         這個方法翻譯跟線程相關聯的Looper對象。如果這個線程沒有被啟動或者因為一些原因而是isAlive()方法返回了false,那麼這個方法就會返回null。如果這個線程已經被啟動了,這個方法會被阻塞,直到這個訊息迴圈被初始化完成。

         傳回值:Looper對象

    B.public int getThreadId()

         這個方法返回本線程的標識,詳細請看Process.myTid()。

    C.public boolean quit()

        請求退出當前正在啟動並執行訊息迴圈。如果線程還沒有被啟動或者線程已經執行完成(這種情況下,getlooper()返回null),那麼這個方法會返回false,否則這個訊息迴圈被要求退出,並返回true。

    D.public void run()

        調用接收器所持有的Runnable對象的run()方法。如果沒有Runnable對象被設定,則什麼事情也不做。

5. Protected方法:

protected void onLooperPrepared()

這是一個回調方法,如果在啟動訊息迴圈之前,需要執行一些設定動作,就可以明確的覆寫這個方法。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.