- 博客(5)
- 收藏
- 关注
原创 View的Temporary Detach状态
View的Temporary Detach状态探究TemporaryDetach与Detach的关系切入点起因是在分析RecyclerView缓存机制时,在类注释描述的Scrap中,提到了处于temporary detached状态的View。直接在View方法表中搜索temporary可发现一系列方法。源码分析对于View来说:通过对比dispatchStartTemporaryDetach和dispatchDetachedFromWindowpublic void dispatchSta
2022-05-30 11:01:56
202
原创 View的Detach状态对动画的影响
View的Detach状态对动画的影响起因是在用内部是ViewPager2实现的banner控件时,每个View有浮动的动画效果,在滑动切换后,动画消失。我们都知道ViewPager2的内部是用RecyclerView来实现的,而RecyclerView复用和回收View时会将View添加和移除,第一想法是Detach对动画有影响,在实验过这个想法,开始分析切入点startAnimation、dispatchDetachedFromWindow源码分析startAnimationpublic v
2022-05-25 13:37:47
251
原创 View的Attach状态
View的Attach状态切入点addOnAttachStateChangeListener(OnAttachStateChangeListener),源码分析追踪onViewAttachedToWindow调用,仅在dispatchAttachedToWindow中被调用。继续追踪dispatchAttachedToWindow的usage:// View#dispatchAttachedToWindowvoid dispatchAttachedToWindow(AttachInfo inf
2022-05-24 17:14:51
423
原创 源码阅读原则
源码阅读原则不是绝对的,只是提供一种大致的思路见名之意大致的了解一个类、方法、字段所代表的含义切入点明确你需要了解某个功能A的实现,越具体越好,列出切入点,然后从上至下的分析分支对于行数庞大、逻辑复杂的源码,我们在追踪时遇到非相关源码是必定的,可以简单追踪几个层级,给自己定一个界限,否则容易丢失目标,淹没在源码的海洋中分支字段追踪有没有直接返回该字段的方法,通过方法注释,直接快速了解该字段的作用。对于没有向外暴露的字段,我们追踪它的usage:数量较少:可以通过各usage处的方法
2022-05-24 15:36:29
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人