关于HandlerThread
来源:互联网 发布:软件开发工作职责 编辑:程序博客网 时间:2024/05/24 06:34
介绍:
HandlerThread继承自Thread,当线程开启时,也就是它run方法运行起来后,
线程同时创建了一个含有消息队列的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方。
好处:
为什么要使用HandlerThread。
1.开发中如果多次使用类似new Thread(){...}.start()
这种方式开启一个子线程,会创建多个匿名线程,使得程序运行起来越来越慢,
而HandlerThread自带Looper使他可以通过消息来多次重复使用当前线程,节省开支;
2.android系统提供的Handler类内部的Looper默认绑定的是UI线程的消息队列,
对于非UI线程又想使用消息机制,那么HandlerThread内部的Looper是最合适的,它不会干扰或阻塞UI线程。
介绍ConnectivityService.java中的两个
HandlerThread handlerThread = new HandlerThread("ConnectivityServiceThread");
handlerThread.start();
mHandler = new InternalHandler(handlerThread.getLooper());
mTrackerHandler = new NetworkStateTrackerHandler(handlerThread.getLooper());
private class InternalHandler extends Handler {
public InternalHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
-----
}
// must be stateless - things change under us.
private class NetworkStateTrackerHandler extends Handler {
public NetworkStateTrackerHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
NetworkInfo info;
switch (msg.what) {
------
}
- 关于HandlerThread
- 关于HandlerThread
- 关于HandlerThread类的学习心得
- 关于HandlerThread的一点认识
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- HandlerThread
- 块存储 对象存储 文件存储比较
- Optimizing MySQL queries on a single table
- sublime 常用插件
- 无法访问Word组件,failed due to the following error: 80070005 拒绝访问。
- LeetCode OJ Count Primes
- 关于HandlerThread
- abap金税下载EXCEL版
- JDBC-数据库的更新操作编程(三)
- Velocity语法大全
- Unity3D之Stats含义
- Oracle ADF Knowledge
- MATLAB图像处理:一分钟去除图片中的雾霾
- worktile
- 任务、进程和线程