Android之View绘制深度解析之mPrivateFlags字段
[TOC]
概述
前面的深度解析中,我们在View执行requestlayout的布局逻辑中,有这样两行代码:
1 | mPrivateFlags |= PFLAG_FORCE_LAYOUT; |
函数给当前View设置了两个flag:PFLAG_FORCE_LAYOUT和PFLAG_INVALIDATED
View中mPrivateFlags字段
View内部有个int类型的mPrivateFlags字段,这个字段会View的整个显示流程进行控制,就相当于我们平时开发时,自定义的一系列的boolean值。
它的工作原理是位运算,这里拿PFLAG_FORCE_LAYOUT举例,通过调用mPrivateFlags |= PFLAG_FORCE_LAYOUT将mPrivateFlags的PFLAG_FORCE_LAYOUT位设置为1,不设置的情况下是0。当设置为1的时候,意味着当前View有个操作需要执行或者某项操作已经执行完了,然后设置成1标记状态。
除了PFLAG_FORCE_LAYOUT,View内部还有很多的Flag位,后面我们会一一看到。那这里将PFLAG_FORCE_LAYOUT位设置位1,就意味着当前的View需要重新布局,重新显示,后面也会有对这个标志位的判断。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus