Android(java)学习笔记209:Android线程形态之 HandlerThread

1.  HandlerThread

Android HandlerThread 完全解析

Handler与HandlerThread区别,HandlerThread应用(对比AsyncTask)

备注:

Handler机制的分发中心就在Looper中的loop(),loop()方法是一个阻塞方法(里面包含一个for无限循环),HandlerThread将loop转到子线程中处理降低了主线程的压力,使主界面更流畅,提高用户的交互体验。

2. 使用HandlerThread步骤

(1)创建HandlerThread的线程实例

(2)调用HandlerThread的start()方法,开启线程

(3)传入HandlerThread的looper实例,从而创建Handler实例为MsgHandler,MsgHandler属于HandlerThread线程。

(4)重写上面MsgHandler实例的handlemessage方法,在这里面可以进行耗时的操作:访问网络,数据库等等(运行在子线程HandlerThread之中)

(5)运行之后需要更新UI,这个时候需要跟主线程交互。这个时候,在再次创建一个Handler实例为mHandler,使用Handler的参数为空的构造方法,这样创建出来的mHandler默认属于UI线程的(默认传入当前主线程的looper实例)。

(6)回到MsgHandler的handlemessage方法,使用mHandler.post(Runnable r)方法完成UI更新。

posted on 2016-05-27 10:41  鸿钧老祖  阅读(172)  评论(0编辑  收藏  举报

导航