您的位置:首页 > 移动开发 > Android开发

【Android应用开发技术:用户界面】用户界面基本原理

2015-07-31 17:07 579 查看
作者:郭孝星

微博:郭孝星的新浪微博

邮箱:allenwells@163.com

博客:http://blog.csdn.net/allenwells

Github:https://github.com/AllenWells

【Android应用开发技术:用户界面】章节列表

用户界面架构如下所示:



窗口结构

ViewRootImpl:虚拟根View,用来控制窗口渲染,以及与WindowManagerService和SurfaceFlinger通信。

DecorView:真正的根View。

ContentView:描述窗口的主题风格。

Window与Activity的关系



Activity对应的Window实际上是一个PhoneWindow




Activity/Window上下文



虚拟根View:ViewRootImpl




窗口绘图表面:Surface



窗口标志:W




窗口会话:Session



窗口视图:View



Android应用UI的绘制过程




软件渲染过程



硬件渲染过程



Display List:缓存绘制命令buffer,当View的某些属性发生改变时,只需要修改相应buffer中的属性即可,而无需再对整个View进行重绘。

Android应用UI的绘制时机

Without vsync - jank




with vsync




with vsync and double buffering




with vsync and double buffering – jank




with vsync and triple buffering




Android系统的vsync实现

SurfaceFlinger内部维护有一个EventThread,用来监听

资源管理框架

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: