之前研究过handler 和 looper 消息队列,不过android里的handler不是另外开启线程来执行的,还是在主UI线程中,如果想另启线程的话需要用到HandlerThread来实现。在使用HandlerThread的时候需要实现CallBack接口以重写handlerMessage方法,在handlerMessage方法中来处理自己的逻辑。下来给出一个小例子程序。
layout文件很简单,就一个按钮来启动HanlderTread线程
Activity代码如下:
点击按钮,打印的日志如下(这里点击了3次)
07-06 09:32:48.776: I/System.out(780): onCreate CurrentThread = main
07-06 09:32:55.076: I/System.out(780): handleMessage CurrentThread = myHanler
07-06 09:32:58.669: I/System.out(780): handleMessage CurrentThread = myHanler
07-06 09:33:03.476: I/System.out(780): handleMessage CurrentThread = myHanler
HandlerThread就这么简单。
当然 android自己也有异步线程的handler,就是AsyncTask,这个类就是封装了HandlerThread 和handler来实现异步多线程的操作的。
分享到:
相关推荐
android HandlerThread 实例,介绍HandlerThread的实现方法。HandlerThread使用很方便,主要用于需要常驻在程序的线程。
通过一个demo说明HandlerThread 的使用
详见http://blog.csdn.net/huaxun66/article/details/52842118
Android HandlerThread使用方法详解 HandlerThread 继承自Thread,内部封装了Looper。 首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,HandlerThread与Activity不在同一个线程,而是别外...
主要为大家详细介绍了Android HandlerThread的使用及原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
HandlerThread的使用与自定义HandlerThread 使用过程中常见的问题,以及为什么要使用
本篇我们将来给大家介绍HandlerThread这个类,以前我们在使用线程执行一个耗时任务时总会new一个Thread的线程去跑,当任务执行完后,线程就会自动被销毁掉,如果又由新的任务,我们又得新建线程…..我们假设这样的一...
HandlerThread的使用以及注意事项
//生成一个HandlerThread对象,实现了 使用Looper来处理消息队列的功能 HandlerThread handlerThread = new HandlerThread("handler_thread"); //在使用HandlerThread的getLooper()方法之前,必须先调用该类的...
一、HandlerThread的介绍及使用举例 HandlerThread是什么鬼?其本质就是一个线程,但是HandlerThread在启动的时候会帮我们准备好一个Looper,并供外界使用,说白了就是使我们在子线程中更方便的使用Handler,比如...
HandlerThread 简介: 我们知道Thread线程是一次性消费品,当Thread线程执行完一个耗时的任务之后,线程就会被自动销毁了。如果此时我又有一 个耗时任务需要执行,我们不得不重新创建线程去执行该耗时任务。然而,...
自己使用资源; 自己理解:1、给线程传参数;2、可处理多线程
有关于Handler、HandlerThread、AsyncTask消息处理机制的相关Demo代码
Android 不规则图像填充 小玩着色游戏 浅谈 MVP in Android Android ViewDragHelper完全解析 自定义ViewGroup神器 Android HandlerThread 完全解析 Android IntentService完全解析 当Service遇到Handler 详细 ...
kotlin fastjson HandlerThread 自定义注解 实现的网络请求库
分析Android HandlerThread的一个小Demo
Android线程,线程池,AsyncTask,HandlerThread和IntentService的用法demo