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阶段做了些什么?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 目录介绍 10.0.0.1 Window是什么?如何通过WindowManager添加Window(代码实现)?W...
- 文章已授权『鸿洋』公众号发布 前言 你好!我是一只修仙的猿,欢迎阅读我的文章。 Window,读者可能更多的认识是...
- 0x00 简介 本文没有介绍WMS调用ViewRootImpl#performTraverals方法开始的View...