Android中的Looper类
Posted Abro.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的Looper类相关的知识,希望对你有一定的参考价值。
简介
android中的looper类,是用来封装消息循环和消息队列的一个类,用于在Android线程中进行消息处理。handler可以看作是工具类,用于向消息队列中插入消息。
looper类的作用
-
looper类用来为一个线程开启消息循环;
-
通常是通过handler对象与looper进行交互,handler可以看作是looper的一个接口,用于向指定的looper发送消息及定义处理方法;
-
在非主线程中直接new handler()会报错,原因是非主线程中默认没有创建looper对象,需要先调用looper.prepare()启用looper;
-
looper.loop()让Looper开始工作,从消息队列中取消息,处理消息;
-
基于以上知识,可以实现主线程给子线程(非子线程)发送消息,如下面的代码。
class LooperThread extends Thread
public Handler mHandler;
public void run()
Looper.prepare();//启动looper
mHandler = new Handler(Looper.myLooper())
public void handleMessage(Message msg)//处理传入的信息
// process incoming messages here
;
Looper.loop();//处理在这个线程的MQ
如有错误,希望各位观摩的大佬能指出嘻嘻嘻~
以上是关于Android中的Looper类的主要内容,如果未能解决你的问题,请参考以下文章
与android线程相关的looper、handler等术语是啥?这些类有啥关系? [关闭]
Android Handler类 发送消息-post()和postDelay(), Looper讲解