美文网首页
安卓机制Handler

安卓机制Handler

作者: 糖豆萌萌哒 | 来源:发表于2018-10-23 08:58 被阅读0次

Handler是什么?

Handler是更新UI界面的机制,也是消息处理机制,我们可以发送消息,也可以处理消息

为什么要有Handler呢?

主线程不能做耗时操作,不然会出现ANR的现象,子线程不能更新Ul界面

Android为什么要设置Handler来更新UI?

假如在同一个Activity界面中,有多个线程去更新UI,并且都没有加锁机制,立马会出现界面混乱的现象,如果会UI的更新操作加了锁进行处理,这样就会产生性能下降的问题,对于这样的问题,Android提供了一套更新UI的机制,也就是Handler机制,我们只用遵循这样的规定即可

简单的概述一下:

Handler发送一个message,进入messgeQueue,根据先进先出,取出message,然后处理message,这里,发送的是Handler,处理的也是Handler,只需要用回调函数就能实现

如何实现不停的从消息队列里取出消息呢,这时就用上了Lopper,Lopper里面有一个死循环(类似摩天轮),不断的从消息队列中抽取消息,每个Thread都有一个Lopper,也只能有一个Lopper,默认情况下Lopper是不启动的,因为Activity默认已经帮你启动了,用于UI刷新的相关工作,

如果我们要在自己写的Thead中,启动lopper,参照下面的代码,执行prepared和lopper

public class LooperThread extends Thread{

public void run(){

//初始化lopper

Lopper.prepare

//其他的一些处理

//开始循环处理消息队列

Lopper.loop();

}

}

一个Thread对应一个Lopper

一个Lopper可以有多个Handler

一个Lopper对应一个messageQueue

相关文章

  • Handler机制原因,主线程looper.loop()为什么不

    Handler,Message,looper 和 MessageQueue 构成了安卓的消息机制,handler创...

  • 安卓机制Handler

    Handler是什么? Handler是更新UI界面的机制,也是消息处理机制,我们可以发送消息,也可以处理消息 为...

  • Handler

    handler是安卓的消息传递机制,有三个核心类:Lopper,Handler和Message; 另外还有个 Me...

  • Handler机制(一)

    安卓的异步消息处理机制就是handler机制。 主线程,ActivityThread被创建的时候就会创建Loope...

  • Android消息机制--Handler Looper Mess

    Handler Messsage基本功能介绍 Handler Message是安卓系统提供不同线程间通讯的一种机制...

  • Handler

    目录 什么是Handler 使用方式 源码解析 内存泄漏问题 1. 什么是Handler 安卓线程间的一种通信机制...

  • Android异步消息机制-深入理解Handler、Looper

    Android异步消息机制-深入理解Handler、Looper和MessageQueue之间的关系 相信做安卓的...

  • 谈谈ThreadLocal

    做安卓的同学想必,一提到ThreadLocal会首先想到安卓中大名鼎鼎的handler消息机制,或许也大概是从了解...

  • 安卓消息机制

    1:安卓系统通过handler来发送消息,主要作用是为了更新UI,或者执行一些逻辑操作 2:安卓消息机制通过han...

  • 安卓异步消息处理机制

    安卓中的异步消息处理机制主要有四个部分:Message、Handler、MessageQueue、Lopper下面...

网友评论

      本文标题:安卓机制Handler

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