ANDROID_MARS学习笔记_S02重置版_001_Hander\Looper\Message\Thread\ThreadLocal
2024-10-19 03:24:23
一、
* class LooperThread extends Thread {
* public Handler mHandler;
*
* public void run() {
* Looper.prepare();
*
* mHandler = new Handler() {
* public void handleMessage(Message msg) {
* // process incoming messages here
* }
* };
*
* Looper.loop();
* }
* }
上述代码的执行流程为
1.Looper.prepare()会执行sThreadLocal.set(new Looper(quitAllowed))
2.而new Looper(quitAllowed)会执行,
(1)mQueue = new MessageQueue(quitAllowed);
(2)mThread = Thread.currentThread();
3.new Handler()会执行
(1)mLooper = Looper.myLooper();
(2)mQueue = mLooper.mQueue;
4.而myLooper();会执行return sThreadLocal.get();,所以保证handler当前线程只有一个looper
5.Looper.loop();会执行
(1)final MessageQueue queue = me.mQueue;
(2)for循环Message msg = queue.next();
(3)msg.target.dispatchMessage(msg);
最新文章
- swift 简介和常量与变量 --- swift 入门
- Unity自动寻路Navmesh之入门
- iOS常见用户头像的圆形图片裁剪常见的几种方法
- linux----------ab--性能测试工具
- repcache实现memcached主从
- struts2学习笔记之十三:自定义过滤器
- adb server is out of date killing... 的解决办法
- 更新日志 - fir.im 回归,上线 Android Studio 插件
- Windows Store 开发总结——文件操作
- 一点点seo
- Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用
- Javascript数据类型——number类型
- Java基础知识强化之集合框架笔记15:List集合的特点
- u8818 G300的官方rom刷机包及详细的刷机方法
- 51单片机C语言学习笔记8:单片机C51编程规范
- react视频入门
- Swift: Alamofire ->; http请求 &; ObjectMapper ->; 解析JSON
- python迭代器生成器(一)
- Go实现海量日志收集系统(四)
- PyCharm中Django项目主urls导入应用中views的红线问题