【Android应用开发技术:用户界面】用户界面基本原理
来源:互联网 发布:sql数据库修复工具 编辑:程序博客网 时间:2024/05/05 13:15
作者:郭孝星
微博:郭孝星的新浪微博
邮箱: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,用来监听
资源管理框架
- 【Android应用开发技术:用户界面】用户界面基本原理
- 【Android应用开发技术:用户界面】用户界面布局技巧
- 【Android应用开发技术:用户界面】TextView
- 【Android应用开发技术:用户界面】ImageView
- 【Android应用开发技术:用户界面】AdapterView
- 【Android应用开发技术:用户界面】ProgressBar
- 【Android应用开发技术:用户界面】ViewAnimator
- 【Android应用开发技术:用户界面】Dialog
- 【Android应用开发技术:用户界面】Menu
- 【Android应用开发技术:用户界面】ActionBar
- 【Android应用开发技术:用户界面】SurfaceView
- 【Android应用开发技术:用户界面】SurfaceHolder
- 【Android应用开发技术:用户界面】章节列表
- 【Android应用开发技术:用户界面】布局管理器
- 【Android应用开发技术:用户界面】其他杂项组件
- 【Android应用开发技术:用户界面】视图组件View
- 【Android应用开发技术:用户界面】设备适配
- 【Android应用开发技术:用户界面】自定义View类设计
- bc第六场Goffi and GCD
- 逆向工程实战——互动出版网
- Maven的pom.xml文件详解
- JQuery详解一
- php 前一天或后一天的日期 (签到时用过)
- 【Android应用开发技术:用户界面】用户界面基本原理
- 46 - 不使用 乘除、循环和判断 语句实现 1+...+n
- NYOJ 14:会场安排问题【贪心】
- Fedora 安装字体
- 容斥原理
- hdoj 4115 Eliminate the Conflict 【2-sat 经典建图】
- Oracle数据库表中,中文显示乱码问题
- 签到功能
- 杭电 2187 悼念512汶川大地震遇难同胞——老人是真饿了 贪心算法 附WA原因