Android面试题总结(七)原理篇

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.未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值