Android中文API(128) —— HandlerThread
2011-07-17 10:13
316 查看
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开发必读[Android123]
android Thread HandlerThread Looper Message MessageQueue Handler的关系
译者署名:雪鹰工作室
版本: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开发必读[Android123]
android Thread HandlerThread Looper Message MessageQueue Handler的关系
相关文章推荐
- Android中文API(128) —— HandlerThread
- android中文API文档
- Android 3.0 r1 API中文文档(113) ——SlidingDrawer
- Android2.2 API 中文文档系列(4) —— Manifest(二)
- Android 中文API (61) —— ViewSwitcher
- Android中文API:AbsListView
- Android 中文API (70) —— BluetoothDevice
- Android中文API
- Android 2.2 r1 API 中文文档系列(11) —— RadioButton
- Android中文API(127) —— MessageQueue
- Android camera2官方API文档中文翻译
- Android 中文API (65) —— BluetoothClass[蓝牙]
- Android2.2 API 中文文档系列(1) —— TextView
- Android 中文API (92) —— MenuInflater
- android中文api(79)——Gallery
- Android2.2 API 中文文档系列(8) —— QuickContactBadge
- Android 中文 API (27) —— SeekBar.OnSeekBarChangeListener
- Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
- Android 中文 API——android.widget合集(中)(50篇)(chm格式)