彩蛋
今天看源码,无意间看到了一个谷歌工程师留下的小彩蛋。
LayoutInflater的tryCreateView方法
如果XML里定义的标签 name = TAG_1995
,直接就开派对了???
具体就是new了一个BlinkLayout
,这个闪烁布局又是干啥的呢?
1.在onAttachedToWindow
(页面可见)的时候,用handler发了一个延迟500ms的消息。
接收handler消息的地方,又死循环发送handler消息,然后刷新页面。
2.在onDetachedFromWindow
(页面不可见)的时候,移除这个注册的handler,结束死循环。
3.在handleMessage
处理消息的时候,将mBlinkState
这个boolean值,取反mBlinkState = !mBlinkState
。然后在刷新页面dispatchDraw
的时候,判断mBlinkState
是否绘制页面。
所以就形成了闪烁。500ms有view,500ms没有view