Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android中文API(128) —— HandlerThread

Android中文API(128) —— HandlerThread

編輯:Android開發實例

前言

  本章內容是android.os.HandlerThread,版本為Android 3.1 r1,翻譯來自"雪鷹工作室",再次感謝"雪鷹工作室"!。
 

 

 

 

HandlerThread

譯者署名:雪鷹工作室

版本:Android 3.1 r1

 

結構

繼承關系

public class HandleThread extends Thread

        

java.lang.Object

java.lang.Thread

        android.os.HandlerThread

 

類概述

用於方便的創建一個含有looper的線程類。looper用來創建handler類。請注意,仍然需要調用start()方法。

 

構造函數

  public HandlerThread (String name)

  構造一個HandlerThread

 

  public HandlerThread (String name, int priority)

  構造一個HandlerThread

  參數

  priority 運行線程的優先級,這個值是由Android.os.Process提供而不是來自java.lang.Thread.

 

公共方法

public Looper getLooper ()

這個方法返回與此線程相關的Looper。如果該線程不能啟動或是由於某種原因isAlive()方法返回false,則這個方法返回null,假如這個線程已經啟動,那麼此方法將阻塞,直到looper被初始化。

  返回值

  Looper

 

public int getThreadId ()

返回線程的標志。詳見:Process.myTid()

 

public boolean quit ()

查看當前運行的looper是否已經退出。假如線程這未啟動或者已經結束(即getLooper()方法返回null),這個方法將返回false。否則looper被要求退出並返回true。

 

public void run ()

調用設置Runnable對象的run()方法。如果沒有設置Runnable,什麼也不做。

 

受保護方法

protected void onLooperPrepared ()

如果需要在Looper循環之前執行一些設置,可明確繼承該回調方法。

(譯者注:如下代碼:

         void run() {

                   mTid = Process.myTid();

                   Looper.prepare();//創建一個Looper實例,並且存儲在ThreadLocal中,ThreadLocal中維護一個HashMap,鍵是線程號

                   synchronized (this) {

                            mLooper = Looper.myLooper();//得到當前線程的Looper,就是剛才perpare方法中創建並存儲的那個Looper實例

                            Process.setThreadPriority(mPriority);

                            notifyAll();

                   }

         onLooperPrepared();

         Looper.loop();//開始輪詢

         mTid = -1;

 

補充

文章精選

             Android開發入門——handler使用(二)

             AsyncQueryHandler研究

             Thread和Looper以及Handler和Message詳解 Android開發必讀

             android Thread HandlerThread Looper Message MessageQueue Handler的關系

轉自:http://www.cnblogs.com/over140/archive/2011/07/17/2108590.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved