登山则情满于山,观海则意溢于海。这篇文章主要讲述Android View的加载流程相关的知识,希望能为你提供帮助。
什么是Activity?Activity是
用户操作的可视化界面;它为用户提供了一个放置视图和交互操作的窗口。采用setContentView的方法提供。因此,可以理解Activity、Window、View三者关系为。Activity提供Window ,View被添加到Window中。
【Android View的加载流程】以刷墙举例:
Activity可以理解为房间,Window就是房间内的墙面, 我们在墙面上可以刷各种不同的图案,这些图案就是View。
Activity View的加载流程1、Activity在被创建之初,调用了attach方法,这个时候,为Activity创建了一个PhoneWindow, 并且为PhoneWindow设置了事件交互的回掉。
2、紧接着Activity的onCreate()方法被回掉。这里也就到了我们经常复写方法,我们在OnCreate()之中,调用setContentView(id)。
3、在setContentView(), PhoneWindow 创建了一个顶级视图 DecorView (FrameLayout)的子类。
4、紧接着,DecorView会依据一些feature(类似NO_ACTICON_BAR)来,添加一个layout。这个Layout中包含了Title、content。其中content也是FrameLayout,也就是我们在setContentView(id),将视图添加的父容器。
所以我们必须要在setContentView之前设置实现全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
实现无标题栏(但有系统自带的任务栏):
requestWindowFeature(Window.FEATURE_NO_TITLE);
推荐阅读
- Fiddler之手机APP爬取
- 2.@RequestMapping
- 1.@RequestMapping
- RequestMapping_Ant 路径
- RequestMapping_请求参数&请求头
- Android上一种效果奇好的混音方法介绍
- Android函数
- spring-boot-2.0.3不一样系列之源码篇 - run方法之createApplicationContext,绝对有值得你看的地方
- How to deploy kotlin in androidstudio?