[发明专利]一种安卓系统View管理方法、存储介质、设备及系统有效
申请号: | 201811161752.0 | 申请日: | 2018-09-30 |
公开(公告)号: | CN110968741B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 尹成 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 沈林华 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 view 管理 方法 存储 介质 设备 | ||
本发明公开了一种安卓系统View管理方法、存储介质、设备及系统,涉及安卓应用开发领域,该方法包括在View的onLayout阶段之前的onMeasure阶段,对所有View进行收集;使用有向图作为View收集器,将收集的View作为有向图的元素导入至有向图中;基于最小空间占用的拓扑排序规则,对有向图进行拓扑排序;对有向图中的View依次进入onLayout阶段和onDraw阶段,并在onDraw阶段使用最长前缀匹配机制对View进行标记。本发明能够有效提升对View的查找速度。
技术领域
本发明涉及安卓应用开发领域,具体涉及一种安卓系统View管理方法、存储介质、设备及系统。
背景技术
安卓程序的用户交互界面中,每一个可见的图像基本单元为View(视图),所有的View组成了可视化交互的界面,View与View间存在两种关系:一种是继承关系,另一种是非继承关系。继承关系,即View与View是一种父子或者爷孙关系,由于Java语言的单继承原则,一个View只能有一个父View,但一个父View可以有多个子View;非继承关系,即View与View之间不存在继承关系。在可视化的界面中,所有的View组成了一个树状图(视图树)关系,如图1所示。
View组成的这种树状图关系结构,优点是:各个View之间关系明确,不存在相互冲突和功能重叠,符合单一职责的设计模式。但基于这种树形依赖关系,必须为每个需要查找的View单独定义一个唯一的id(无需查找的View无需定义id),如果存在大量且功能重复的View则直接复用一个相同的id,但这样带来的弊端是,如果View数量庞大,则造成id泛滥,而复用相同id则导致View难以精确查找出来。为解决上述这个弊端,安卓系统官方建议为每个View额外绑定一个Tag(标识),然后通过Tag精确查找到对应的View,Tag的类型可以是整型数字(int),也可以是一个对象(Object)。这种绑定Tag的解决方案同时也存在一些缺陷,主要表现在以下方面:
1、需要额外定义大量的Tag,一般为数字;
2、查询效率低下,因为查询分为两步:先根据id查询,后根据tag查询,造成查询过程繁琐。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种安卓系统View管理方法、存储介质、设备及系统,能够有效提升对View的查找速度。
本发明第一方面提供一种安卓系统View管理方法,包括:
在View的onLayout阶段之前的onMeasure阶段,对所有View进行收集;
使用有向图作为View收集器,将收集的View作为有向图的元素导入至有向图中;
基于最小空间占用的拓扑排序规则,对有向图进行拓扑排序;
对有向图中的View依次进入onLayout阶段和onDraw阶段,并在onDraw阶段使用最长前缀匹配机制对View进行标记。
结合第一方面,在第一种可能的实现方式中,所述onMeasure为计算View的大小,所述onLayout为计算View的位置,所述onDraw为绘制View。
结合第一方面,在第二种可能的实现方式中,所述对所有View进行收集,具体为:采用双重for循环方法,对ViewTree上所有节点的View进行收集。
结合第一方面,在第三种可能的实现方式中,所述最小空间占用的拓扑排序规则,具体为:
初始化有向图的距离矩阵D(0)=(dij)m×m,(i,j=1,…,m),其中,m为排序次数,且为正整数,dij为权值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811161752.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备壳体、电子设备和复合体
- 下一篇:订阅更新方法、设备及系统