- 在同年的12月,阿里团队对此作了重大更新:发布了
Tangram2.0
版本,主要是补充了Android
库VirtualView
,也广泛应用于淘宝、天猫客户端
- 今天,我将带大家全面了解
Tangram 2.0
版本的新成员:Virtualview
目录
1. 为什么要向 Tangram模型 加入 VirtualView
即 为什么要更新
Tangram2.0
版本
- 结论
- 提升组件动态性,实现动态更新
- 提升了组件的渲染性能
- 具体描述
而上述解决方案的承载方案,则是 VirtualView
2. VirtualView介绍
- 简介
- 特点
3. 实现原理
3.1 核心思路
根据Tangram v1.0
中 出现的问题:UI
组件无法动态更新 & 加载性能低,VirtualView
的具体解决方案如下
3.2 实现方案
- 根据其原理,
VirtualView
的实现方案是:虚拟化开发 - 虚拟化开发的本质:
之所以称为虚拟化,是因为
Canvas
绘制的视图不存在一一对应的实体View
3.3 总结
从上可知,VirtualView
的创新在于:
- 通过
XML
模板实现组件的动态性 - 通过 虚拟化技术(本质 =
Canvas
)开发组件,提升了组件的渲染性能
4. 工作流程
- 在了解了
VirtualView
的本质原理 & 整体架构后 - 下面,我将开始讲解
VirtualView
的工作流程
4.1 流程概述
- 根据上述方案,
VirtualView
的工作流程分为3大部分:创建UI组件、创建界面模板 & 客户端加载界面 - 具体如下
4.2 流程详细分析
下面我将对每个流程的原理 & 过程详细分析
流程1:创建UI组件
- 具体描述 根据业务需求,创建所需要的
UI
组件
有2种创建方式:使用框架内置(封装好)的UI
组件 / 自定义
1.1 使用框架内置(封装好)的UI
组件
- 即 可直接使用封装好的
UI
组件而不需自身创建 - 具体如下(含组件基础属性)
注: a. 自定义组件应继承基础组件 b. 系统封装
UI
组件的原理 同 “自定义UI
组件,下面将具体讲解
###1.2 自定义UI组件 若框架内置的U