美文网首页
android中的消息机制

android中的消息机制

作者: koing | 来源:发表于2018-03-31 20:29 被阅读0次

    android中的消息机制,一般是通过三个概念来理解的:MessageQueue(消息队列),Handler,Looper。我们知道在安卓中通过子线程是不能更新UI的,如果想在子线程中更新界面的话,只能向主线程中发送消息通知主线程更新界面,而消息机制就是在这个背景下产生的。

    在Handler源码中我们可以看到,是依赖MessageQueue和Looper两个对象

    1.当我们需要使用Handler的时候首先要调用Looper.prepare()方法

    此时会在sThreadLocal中保存一个当前线程的Looper实例,这个实例在接下来的Handler中会使用到

    2.以下是创建Handler的源码

    通过以上代码我们可以看到,首先会获取一个Looper对象,然后进入到myLooper()方法中

    当使用get()方法的时候会获取到刚刚我们设置的Looper对象。

    3.使用创建好的Handler对象发送消息。不管是使用handler.sendMessage或者post等方法,最终会走到以下方法

    该方法最终会将消息添加到消息队列中。消息是添加到队列中了,但是我们如何去获取数据呢?

    相关文章

      网友评论

          本文标题:android中的消息机制

          本文链接:https://www.haomeiwen.com/subject/bwdncftx.html