淘宝客户端一面(第二次)

不得不说,不愧是淘宝,面的真的好难。
1、线程池底层创建的原理
2、lifecycle的原理
    lifecycle是一种观察者设计模式,第一步是要注册观察者,观察者可以有多个,当被观察者生命周期变化的时候就轮询所有的观察者,把生命周期变化的事件一个一个分发给观察者。注册观察者是通过LifecycleRegistry实现的,通过addabserver函数添加到一个map容器里面。在activity里面绑定了一个空的Fragment感知和分发生命周期,Activity的生命周期执行的时候会对应的执行ReportFragment的生命周期方法。ReportFragment在生命周期方法中通过调用dispatch(Lifecycle. Event)方法分发的生命周期状态, 最终调用对应Activity的LifecycleRegistry对象的handleLifecycleEvent方法完成生命周期的分发。lifecycle中定义了状态机state,通过状态机我们就知道被观察者是因为执行了哪个生命周期导致了State状态发生了变化。在handleLifecycleEvent方法中先把执行生命周期后的state状态同步到lifecycle中。判断mState被观察者处于的状态,是不是比观察者保存的状态小,判断被观察者执行了什么生命周期方法,调用backwardPass或者forwardPass函数。然后遍历整个map容器中的观察者,调用观察者的diapatchEvent方法就能让观察者的onStateChange方法得到执行

3、handler postdeleay原理
    延时消息会和当前消息队列里的消息头的执行时间对比,如果比头时间靠前,则会成为新的消息头,否则就依次遍历,寻找合适的位置插入延时消息。
4、HandlerThread原理
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
运营你豪哥:1.模板换一个,现在的模板基础信息加个照片已经占了30%的空间。 2.实习经历的描述,按时间倒序标注清楚,选2-3段和你求职意向契合的经历填写。 3.自我评价再改改,要不就删了;怎么感觉自我评价是在介绍你专业的培养体系,看不出重点要突出什么。
听劝,这个简历怎么改
点赞 评论 收藏
分享
09-12 12:09
郑州大学 Java
有啥题目啊?
投递小红书等公司10个岗位
点赞 评论 收藏
分享
评论
1
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务