Android学习笔记(十四) Handler理论补充
Posted 学海无涯,回头是岸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android学习笔记(十四) Handler理论补充相关的知识,希望对你有一定的参考价值。
一、如何下载android源码
在SDK Manager中选中Sources for Android SDK。
二、ThreadLocal初步介绍
1)执行ThreadLocal对象(static final ThreadLocal sThreadLocal)的set(Object obj)方法,将会向存入一个以当前线程为键的键值对。
2)执行ThreadLocal对象的get()方法,将会根据当前线程对象为键,取出与之对应的值。
在之前提到的Looper方法调用中:
执行Looper.prepare时,系统会生成一个Looper对象,然后和当前线程通过ThreadLocal存储(set)起来。生成Handler对象时,又根据线程名将Looper对象取(get)出来,然后赋值给Handler对象的mLooper成员变量。因此Looper和Handler的关系是通过ThreadLocal联系起来的。
生成Looper对象时会生成一个与之相对应的MessageQueue对象。之后生成Handler对象时,将Looper对象和MessageQueue对象都赋值给Looper的成员变量。
以上是关于Android学习笔记(十四) Handler理论补充的主要内容,如果未能解决你的问题,请参考以下文章
Android 基础总结:( 十四)Handler详解(上)