继承AppCompatActivity的setContentView(R.layout.activity_main)内部流程

之前上一篇的写了继承Activity的setContentView(R.layout.activity_main)的过程,其实继承AppCompatActivity大体上是一样的流程,只是多出几个新的类:AppCompatDelegate 它的实现类AppCompatDelegateImpl拿到Window和PhoneWindow,DecorView,走一下

AppCompatDelegateImpl.setContentView(View v)他的里面走了ensureSubDecor()这个方法又会走一下--->
mWindow.setContentView(subDecor);最后我们又走到PhoneWindow里面的setContentView(int layoutResID)里面的,接下的流程就是和之前上一篇的一样了,最终走到ViewGroup中,执行requestLayout()方法,然后测量,排版,绘制。

下面图片就是走到了DecorView,后续的和之前的那个是一样的。

继承AppCompatActivity的setContentView(R.layout.activity_main)内部流程_第1张图片

你可能感兴趣的:(移动开发)