Android 对布局的加载

2020-08-17  本文已影响0人  探索的码易

最近在看Flluter 纯代码式的加载和写入布局,还是有点不适应

布局的加载顺序

activity->window->phoneWindow->DecorView->ViewGRope->View

  1. activity 的创建

mInstrumentation.newActivity(。。。)
创建activity (binder 机制通过创建上下文来拉起创建一个activity)

  1. Window

r.mPendingRemoveWindow; 来创建windows activity.attach(appContext, 来绑定和acttivity的关系

  1. PhoneWindow

是Window 的唯一实现类 其最终的对view 的操作是交给手下DecorView 来做处理的

  1. DecorView(其实是一个FragmentLayout)

最最终View 的加载呈现和解析setContentView() 加载 mDecor = generateDecor(-1); 初始化
View root = inflater.inflate(layoutResource, null); 来加载解析Xml 并创建View, 通过addView 来加载view

  1. View/grope

最终的呈现,

上一篇下一篇

猜你喜欢

热点阅读