请问View框架的工作机制是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2447个文字,预计阅读时间需要10分钟。
前言:这几天又苦心学习了一下View的工作原理,我将其分为两类,一是View的工作流程,二是自定义View。
至于事件分发、事件冲突等知识,我已经有了日程规划,下周将进行详细学习。一、View的工作流程
前言
这几日又苦心学习了下View的工作原理,我分为两类,一是View的工作流程,二是自定义View。至于事件分发,事件冲突这些知识,已经有了日期规划,须在下周进行详细学习。
一. View的工作流程入口以及思想综述
有时,View的工作流程也被称为View的绘制流程,但我个人不太喜欢这种叫法,因为绘制在View中是有专门的方法,也即draw方法,所以容易引起歧义,故后面统一称为View的工作流程,工作流程包括绘制流程。
1. ViewRoot
ViewRoot对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带。DecorView,之前在学习事件分发的入口时也学到过,它是顶级VIew,是一个FrameLayout,内部包含一个Vertical的LinearLayout,这个LinearLayout包含上下两部分,上面是标题栏,下面是内容栏,内容栏是我们平时添加布局的地方。由于DecorView是顶级View,因此View层的事件都需要先经过DecorView,才能传递给我们的View,这也不难解释为什么之前学习事件分发的时候,也有DecorView的相关知识。
2. 总体的绘制流程
这里DecorView其实不重要,重要的是ViewRoot。因为View的三大工作流程均是通过ViewRoot来完成的。
本文共计2447个文字,预计阅读时间需要10分钟。
前言:这几天又苦心学习了一下View的工作原理,我将其分为两类,一是View的工作流程,二是自定义View。
至于事件分发、事件冲突等知识,我已经有了日程规划,下周将进行详细学习。一、View的工作流程
前言
这几日又苦心学习了下View的工作原理,我分为两类,一是View的工作流程,二是自定义View。至于事件分发,事件冲突这些知识,已经有了日期规划,须在下周进行详细学习。
一. View的工作流程入口以及思想综述
有时,View的工作流程也被称为View的绘制流程,但我个人不太喜欢这种叫法,因为绘制在View中是有专门的方法,也即draw方法,所以容易引起歧义,故后面统一称为View的工作流程,工作流程包括绘制流程。
1. ViewRoot
ViewRoot对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带。DecorView,之前在学习事件分发的入口时也学到过,它是顶级VIew,是一个FrameLayout,内部包含一个Vertical的LinearLayout,这个LinearLayout包含上下两部分,上面是标题栏,下面是内容栏,内容栏是我们平时添加布局的地方。由于DecorView是顶级View,因此View层的事件都需要先经过DecorView,才能传递给我们的View,这也不难解释为什么之前学习事件分发的时候,也有DecorView的相关知识。
2. 总体的绘制流程
这里DecorView其实不重要,重要的是ViewRoot。因为View的三大工作流程均是通过ViewRoot来完成的。

