- android
- android.accessibilityservice
- android.accounts
- android.content
- android.database.sqlite
- android.graphics
- android.location
- android.media
- android.net
- android.os
- android.text
- android.view
- android.view.inputmethod
- android.widget
- AbsListView
- AbsoluteLayout
- AbsSeekBar
- AbsSpinner
- AdapterView
- AnalogClock
- BaseAdapter
- BaseExpandableListAdapter
- Button
- CheckBox
- CheckedTextView
- Checkable
- Chronometer
- CompoundButton
- CursorAdapter
- CursorTreeAdapter
- DatePicker
- DialerFilter
- DigitalClock
- EditText
- Filter
- Filter.FilterListener
- Filter.FilterResults
- ExpandableListAdapter
- Filterable
- Gallery
- Gallery.LayoutParams
- GridView
- GridLayout
- RadioGroup
- ImageView
- HorizontalScrollView
- ImageButton
- ImageSwitcher
- FilterQueryProvider
- ListAdapter
- ListView
- MediaController
- QuickContactBadge
- RadioButton
- RatingBar
- RelativeLayout
- RemoteViews
- ResourceCursorAdapter
- ResourceCursorTreeAdapter
- Scroller
- ScrollView
- SearchView
- SeekBar
- SeekBar.OnSeekBarChangeListener
- SimpleAdapter
- SimpleCursorAdapter
- SimpleCursorTreeAdapter
- SimpleExpandableListAdapter
- SlidingDrawer
- Spinner
- SpinnerAdapter
- WrapperListAdapter
- TabHost
- TabHost.TabSpec
- TextView
- TimePicker
- Toast
- TableLayout
- TableRow
- TableRow.LayoutParams
- TabWidget
- TextSwitcher
- ToggleButton
- TwoLineListItem
- VideoView
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ZoomButtonsController
- ZoomButton
- ZoomControls
- dalvik.system
HandlerThread
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 使用(二)
Thread 和 Looper 以及 Handler 和 Message 详解 Android 开发必读 [Android123]
android Thread HandlerThread Looper Message MessageQueue Handler 的关系
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论