Handler介绍

  • 前奏:
    在Android开发中,我们常常会使用单独的线程来完成某些操作,比如用一个线程来完成从网络上下载图片
    然后显示到一个ImageView中,在多线程操作时,Android必须保证以下两点:
    1、不要阻塞UI线程
    2、不要在UI线程之外访问Android UI工具包(禁止非UI线程更新UI)
  • 使用Handler可以完成以下两点工作
    1、消息调度和在将来某个时间点执行一个Runnable
    2、多个任务加入到一个队列中执行
  • Handler实现机制:
    1、Message对象,表示要传递一个消息
    2、MessageQuene,存放消息对象的消息队列,FIFO(先进先出)
    3、Looper对象负责管理当前线程的纤细队列 一直在轮询,检查是否有消息,传递handlermessage
    4、Handler对象负责把当前消息push到消息队列中,以及接收Looper从消息队列中取出的信息

    Android启动程序的时候会在UI线程创建一个MessageQueue。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容