setContentView是UI绘制的起点?然而它并不是,因为setContentView知识UI绘制体系里面的很小的一个部分,这个很小的一部分只会做一件事情。在整个UI体系,它存在Activity,存在Window,存在DecorView,而我们setContentView只不过是为DecorView上面这一块专门给用户来显示的这一个区间,来进行UI解析,xml的解析。而上面这些事情才正是WMS一开始为我们提供的各种各样的保障,为UI的准时运行提供了保障,那么这个保障里面有个非常重要的节点,这又一个重要的函数,preformLaunchActivity,这个就是启动一个Activity的,那么启动一个Activity,那这个部分属于AMS这块但是在AMS又包含着WMS,这里面用类加载的方式反射new了一个Activity,那么这个时候,在这个里面就会对activity注册信息的一个检测,之后有一个重要的函数,activity.attach(),里面这个时候创建了一个PhoneWindow,创建了PhoneWindow之后,这时window跟activity绑定了,window又了,window的管理者这时候也创建了,WindowManagerService,之后把这个管理类赋值给了windowManage类,这是一个最上层的一个UI。那么有了这个attach之后,attach走完之后,紧接着就走Intrumentation的callActivityOnCreate,意味着会调用activity的onCreate函数,然后就会setContentView,就会解析xml。
Activit在onCreate阶段做了些什么?
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 目录介绍 10.0.0.1 Window是什么?如何通过WindowManager添加Window(代码实现)?W...
- 文章已授权『鸿洋』公众号发布 前言 你好!我是一只修仙的猿,欢迎阅读我的文章。 Window,读者可能更多的认识是...
- 0x00 简介 本文没有介绍WMS调用ViewRootImpl#performTraverals方法开始的View...