1.handle机制和底层原理
https://blog.csdn.net/itheimach/article/details/51170857(转)
2.Handler、Thread和HandlerThread的差别?
https://blog.csdn.net/zoky_ze/article/details/55194367
3.ThreadLocal原理,实现及如何保证Local属性?
http://www.cnblogs.com/whoislcj/p/5811989.html
4.请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系
- Message: 是 Handler 接收和处理的消息对象
- Looper: 每个线程只能有一个 Looper. 它的 loop 方法负责读取 MessageQueue 中的消息, 读到消息之后就把消息交给发送该消息的 Handler 进行处理.
- MessageQueue: 消息队列. 它采用先进先出的方式来管理 Message. 程序创建 Looper 对象时, 会在它的构造器中创建 MessageQueue 对象.
- Handler: 在新启动的线程中发送消息, 在主线程中获取处理消息.
当新启动的线程发送消息时, 消息会发送到与之关联的 MessageQueue, 而 Handler 会不断地从 MessageQueue 中获取并处理消息. 这将导致 Handler 类中处理消息的方法被回调. 这个方法处于主线程, 从而更新 UI.
5.请描述一下View事件传递分发机制
https://blog.csdn.net/carson_ho/article/details/54136311(这篇写的挺好,挺详细,挺全面)
6.view的刷新机制
https://blog.csdn.net/zhanglongit/article/details/42459199
7.View的绘制流程
https://blog.csdn.net/yanbober/article/details/46128379
8.自定义控件原理
https://blog.csdn.net/ComWill/article/details/78061095
9.AsyncTask机制
https://www.jianshu.com/p/37d532f0b6fd
10.为什么不能在子线程中更新UI?
https://www.jianshu.com/p/29e75093f5a2
11.ANR产生的原因及定位分析
https://juejin.im/entry/597026806fb9a06bcb7fc660
12.未完待续