Android Handler运行原理
来源:互联网 发布:网络直播的普及率 编辑:程序博客网 时间:2024/05/22 14:21
在Android开发中,主线程的主要任务是监听事件和绘制界面,如果处理一些费时的操作如下载图片等就会阻塞主线程(也称为UI线程),常用的做法是耗时操作放到另一个线程中去,完成后通知UI线程去更新界面,这样任务分的更清晰:UI线程负责UI处理,子线程负责网络下载,其中子线程通知主线程一般都是用Handler来完成,可Handler是怎么做到的呢?
首页在UI线程启动时,系统自动调用了二行代码1.Looper.prepare(); 2.Looper.loop();其中1是为UI线程建一个Looper的线程变量,2是一直循环这个Looper中的MessageQueue中的Message,如果有则调用改善此Message的Handler中的dispatchMessage();方法来处理此消息.
在我们new Handler()时,系统会将我们新建这个Handler的线程(这里为UI线程,如果我们自己的线程没调用Looper.prepare()则会出错)中的Looper对象和对应的MesssageQueue引用给此Handler。
当我们在新的线程中调用Handler.sendMessage(Message msg)时,Handler会将此消息放到MessageQueue中,同时将msg.target设置成发送消息的Handler。
- Android Handler运行原理
- Android中handler运行原理
- Android handler机制原理
- Android中Handler原理
- Android Handler实现原理
- android线程 handler原理
- Android Handler机制原理
- android handler机制原理
- android Handler原理
- android handler 调用原理
- Android Handler 原理初探
- Android Handler原理理解
- Android Handler原理分析
- Android 中的Handler原理
- Android Handler原理介绍
- Android Handler 机制原理
- Android Handler机制的原理
- android handler线程原理详解
- vc2010转化vc2005或低版本VC过程后,编译错误 解决方法
- 移动团购模式盘点及挑战分析
- java核心技术学习笔记1---基本概念
- LLVM每日谈之七 Clang
- 【应用赏析】ArcGIS API for iOS在俄勒冈大学校园中的创新应用
- Android Handler运行原理
- jackson json 转换Bean, Bean 里没有对应的值 jackson Unrecognized field
- c++模板实现归并排序
- win7访问2003共享文件夹
- 如何分析Email模块接收、发送邮件失败的Log
- GPS如何进入省电模式
- C#操作IIS
- SIP协议简介
- 【移动产品】ArcGIS Runtime SDK for iOS 2.2发布