Android 对布局的加载
2020-08-17 本文已影响0人
探索的码易
最近在看Flluter 纯代码式的加载和写入布局,还是有点不适应
布局的加载顺序
activity->window->phoneWindow->DecorView->ViewGRope->View
- activity 的创建
mInstrumentation.newActivity(。。。)
创建activity (binder 机制通过创建上下文来拉起创建一个activity)
- Window
r.mPendingRemoveWindow; 来创建windows activity.attach(appContext, 来绑定和acttivity的关系
- PhoneWindow
是Window 的唯一实现类 其最终的对view 的操作是交给手下DecorView 来做处理的
- DecorView(其实是一个FragmentLayout)
最最终View 的加载呈现和解析setContentView() 加载 mDecor = generateDecor(-1); 初始化
View root = inflater.inflate(layoutResource, null); 来加载解析Xml 并创建View, 通过addView 来加载view
- View/grope
最终的呈现,