android线程消息机制之Handler详解-创新互联

android线程消息机制主要由Handler,Looper,Message和MessageQuene四个部分组成。平常在开发中,我们常用来在子线程中通知主线程来更新,其实整个安卓生命周期的驱动都是通过Handler(ActivityThread.H)来实现的。

专业从事成都做网站、网站设计,高端网站制作设计,微信平台小程序开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5网站设计+CSS3前端渲染技术,成都响应式网站建设公司,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

首先我们先介绍这四个类的作用:

Handler:消息的发送者。负责将Message消息发送到MessageQueue中。以及通过Runnable,Callback或者handleMessage()来实现消息的回调处理

Looper:是消息的循环处理器,它负责从MessageQueue中取出Message对象进行处理。(Looper含有MessageQueue的引用)

Message:是消息载体,通过target来指向handler的引用。通过object来包含业务逻辑数据。其中MessagePool为消息池,用于回收空闲的Message对象的。

MessageQueue:消息队列,负责维护待处理的消息对象。

android线程消息机制之Handler详解

通过上面的图,我们可以比较清楚地知道他们的作用以及关系。接下来,我们从源码角度来分析这种关系是如何建立的。

public Handler(Looper looper, Callback callback, boolean async) {
  mLooper = looper;
  mQueue = looper.mQueue;
  mCallback = callback;
  mAsynchronous = async;
}

名称栏目:android线程消息机制之Handler详解-创新互联
网站网址:http://hbruida.cn/article/djjidp.html