Most visited

Recently visited

Added in API level 1

HandlerThread

public class HandlerThread
extends Thread

java.lang.Object
   ↳ java.lang.Thread
     ↳ android.os.HandlerThread


方便的类,用于启动一个具有活套的新线程。 然后可以使用循环来创建处理程序类。 请注意,start()仍然必须被调用。

Summary

Inherited constants

From class java.lang.Thread

Public constructors

HandlerThread(String name)
HandlerThread(String name, int priority)

构造一个HandlerThread。

Public methods

Looper getLooper()

此方法返回与此线程关联的Looper。

int getThreadId()

返回此线程的标识符。

boolean quit()

退出处理程序线程的活套。

boolean quitSafely()

安全地退出处理程序线程的活套。

void run()

如果此线程是使用单独的Runnable运行对象构建的,则将Runnable对象的run方法; 否则,此方法不做任何事情并返回。

Protected methods

void onLooperPrepared()

回调方法,如果需要在Looper循环之前执行一些设置,可以显式重写。

Inherited methods

From class java.lang.Thread
From class java.lang.Object
From interface java.lang.Runnable

Public constructors

HandlerThread

Added in API level 1
HandlerThread (String name)

Parameters
name String

HandlerThread

Added in API level 1
HandlerThread (String name, 
                int priority)

构造一个HandlerThread。

Parameters
priority int: The priority to run the thread at. The value supplied must be from Process and not from java.lang.Thread.

Public methods

getLooper

Added in API level 1
Looper getLooper ()

此方法返回与此线程关联的Looper。 如果此线程未启动或出于任何原因isAlive()返回false,则此方法将返回null。 如果这个线程已经启动,这个方法会阻塞,直到活套已经初始化。

Returns
Looper The looper.

getThreadId

Added in API level 1
int getThreadId ()

返回此线程的标识符。 请参阅Process.myTid()。

Returns
int

quit

Added in API level 5
boolean quit ()

退出处理程序线程的活套。

使处理程序线程的循环程序终止而不处理消息队列中的更多消息。

在循环者被要求退出后,任何尝试将消息发送到队列都将失败。 例如, sendMessage(Message)方法将返回false。

使用这种方法可能是不安全的,因为一些消息可能不会在循环者终止之前传递。 考虑使用quitSafely()来代替,以确保所有待处理的工作都以有序的方式完成。

Returns
boolean True if the looper looper has been asked to quit or false if the thread had not yet started running.

也可以看看:

quitSafely

Added in API level 18
boolean quitSafely ()

安全地退出处理程序线程的活套。

一旦消息队列中所有已发送的消息都已处理完毕,就立即终止处理程序线程的活套。 未来的延迟邮件将在未来发送。

在循环者被要求退出后,任何尝试将消息发送到队列都将失败。 例如, sendMessage(Message)方法将返回false。

如果线程尚未启动或已完成(即getLooper()返回null),则返回false。 否则,活套要求退出并返回true。

Returns
boolean True if the looper looper has been asked to quit or false if the thread had not yet started running.

run

Added in API level 1
void run ()

如果此线程是使用单独的Runnable运行对象构建的,则Runnable对象的run方法; 否则,此方法不做任何事情并返回。

Thread子类应该重写此方法。

Protected methods

onLooperPrepared

Added in API level 1
void onLooperPrepared ()

回调方法,如果需要在Looper循环之前执行一些设置,可以显式重写。

Hooray!