System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种应用中控件的处理方法、装置、设备、介质及程序产品。
技术介绍
1、随着应用程序的不断发展,应用程序的功能层出不穷,控件是应用程序的重要组成,对于控件的性能要求与日俱增。
2、对于同一视图界面中由两种不同的引擎所控制的控件,相关技术通常是通过频繁的切换控制方式,使得在执行针对视图界面中的操作响应时,需要在不同的响应框架下频繁进行切换,使得针对控件的操作响应效率较低。
技术实现思路
1、本申请实施例提供一种应用中控件的处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效提高控件的响应效率。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种应用中控件的处理方法,包括:
4、获取目标应用的视图界面中的至少一个第一控件及至少一个第二控件;
5、其中,所述目标应用中嵌入有目标引擎,所述视图界面中的第一控件通过所述目标引擎渲染得到,所述视图界面中的第二控件通过操作系统的原生引擎渲染得到,所述目标引擎不同于所述原生引擎;
6、基于所述至少一个第一控件,构建所述目标引擎对应的第一控件树,并基于所述至少一个第二控件,构建所述原生引擎对应的第二控件树;
7、对所述第一控件树及所述第二控件树进行融合,得到融合控件树;
8、所述融合控件树,用于执行针对所述视图界面中的操作响应。
9、本申请实施例提供一种应用中控件的处理装置,包括:
>10、获取模块,用于获取目标应用的视图界面中的至少一个第一控件及至少一个第二控件;其中,所述目标应用中嵌入有目标引擎,所述视图界面中的第一控件通过所述目标引擎渲染得到,所述视图界面中的第二控件通过操作系统的原生引擎渲染得到,所述目标引擎不同于所述原生引擎;
11、构建模块,用于基于所述至少一个第一控件,构建所述目标引擎对应的第一控件树,并基于所述至少一个第二控件,构建所述原生引擎对应的第二控件树;
12、融合模块,用于对所述第一控件树及所述第二控件树进行融合,得到融合控件树;所述融合控件树,用于执行针对所述视图界面中的操作响应。
13、在一些实施例中,上述构建模块,还用于将所述视图界面中的各所述第一控件进行合并,得到第一合并控件;基于所述第一合并控件和各所述第一控件,构建所述目标引擎对应的初始控件树,所述初始控件树的根节点与所述第一合并控件对应,所述初始控件树的子节点与所述第一控件一一对应;对所述初始控件树的各节点添加相应的节点信息,得到所述目标引擎对应的第一控件树。
14、在一些实施例中,上述应用中控件的处理装置,还包括:节点信息获取模块,用于获取所述初始控件树中各所述子节点分别对应的第一控件的控件信息,其中,所述控件信息包括所述第一控件在至少一个维度的维度信息,不同所述第一控件的控件信息不同;将各所述第一控件的控件信息,确定为对应的所述子节点的节点信息;将各所述第一控件的控件信息进行融合,得到融合控件信息,并将所述融合控件信息,确定为所述根节点的节点信息。
15、在一些实施例中,上述构建模块,还用于针对所述初始控件树中各所述子节点的节点信息,获取所述节点信息中各维度信息所对应的信息标签,所述信息标签携带相应的所述维度信息;将各所述子节点的节点信息所对应的信息标签,添加至相应的所述子节点;获取所述融合控件信息中各维度信息对应的融合信息标签,将所述融合信息标签添加至所述根节点。
16、在一些实施例中,上述维度信息包括第一控件的位置信息,位置信息,用于指示第一控件在视图界面中的目标位置,上述节点信息获取模块,还用于针对各所述第一控件分别执行以下处理:获取所述第一控件在目标设备的显示屏幕中的初始位置,并确定所述视图界面的位置偏移量;其中,所述位置偏移量,用于指示所述视图界面与所述显示屏幕之间的位置偏移;基于所述位置偏移量,对所述第一控件的所述初始位置进行调整,得到所述第一控件在所述视图界面中的目标位置。
17、在一些实施例中,上述构建模块,还用于将所述视图界面中的各所述第二控件进行合并,得到第二合并控件;基于所述第二合并控件和各所述第二控件,构建所述原生引擎对应的初始控件树,所述初始控件树的根节点与所述第二合并控件对应,所述初始控件树的子节点与所述第二控件一一对应;对所述初始控件树的各节点添加相应的节点信息,得到所述原生引擎对应的第二控件树。
18、在一些实施例中,上述节点信息获取模块,还用于获取所述初始控件树中各所述子节点分别对应的第二控件的控件信息,其中,所述控件信息包括所述第二控件在至少一个维度的维度信息,不同所述第二控件的控件信息不同;对各所述第二控件的控件信息进行格式调整,得到各所述第二控件的目标控件信息,所述第二控件的目标控制信息的格式与所述第一控件的控制信息的格式相同;将各所述第二控件的目标控制信息,确定为对应的所述子节点的节点信息;将各所述第二控件的目标控件信息进行融合,得到融合目标控件信息,并将所述融合目标控制信息,确定为所述根节点的节点信息。
19、在一些实施例中,上述融合模块,还用于获取所述第一控件树的控件占用面积,以及所述第二控件树的控件占用面积;其中,所述控件占用面积,用于指示控件树的各节点对应的控件在所述视图界面中所占用的显示面积之和;从所述第一控件树和所述第二控件树中,确定目标控件树和参考控件树,其中,所述目标控件树的控件占用面积大于所述参考控件树的控件占用面积;从所述目标控件树中选取目标节点,其中,所述目标节点对应的控件占用面积与所述参考控件树的根节点对应的控件占用面积之间的差值小于差值阈值;将所述参考控件树的根节点融合至所述目标控件树中所述目标节点所在的层级,得到所述融合控件树。
20、在一些实施例中,上述融合模块,还用于将所述目标控件树中的各节点对应的控件占用面积确定为第一控件占用面积,将所述参考控件树的根节点对应的控件占用面积确定为第二控件占用面积;确定所述第二控件占用面积分别与各所述第一控件占用面积之间的差值;将最小的所述差值对应的所述节点,确定为所述目标节点。
21、在一些实施例中,上述融合模块,还用于在所述目标控件树中,确定所述目标节点的父节点;获取空节点,并以所述空节点作为所述父节点的子节点,将所述空节点融合至所述目标控件树中,得到候选控件树;将所述候选控件树中的所述空节点,替换为所述参考控件树,得到所述融合控件树。
22、在一些实施例中,上述应用中控件的处理装置,还包括:操作响应模块,用于响应于针对所述视图界面中的目标控件的触发操作,在所述融合树结构中,查询所述目标控件对应的目标节点,并获取所述目标节点的节点信息;基于所述目标节点的节点信息,执行针对所述触发操作的操作响应。
23、在一些实施例中,当所述目标控件是所述第一控件,且所述第一控件通过虚拟对象的方式所展示时,所述触发操作为针对所述虚拟对象的控制操作;上述操作响应模块,还本文档来自技高网...
【技术保护点】
1.一种应用中控件的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当所述第一控件的数量为至少两个时,所述基于所述至少一个第一控件,构建所述目标引擎对应的第一控件树,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述初始控件树的各节点添加相应的节点信息,得到所述目标引擎对应的第一控件树之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述初始控件树的各节点添加相应的节点信息,得到所述目标引擎对应的第一控件树,包括:
5.根据权利要求3所述的方法,其特征在于,所述维度信息包括所述第一控件的位置信息,所述位置信息,用于指示所述第一控件在所述视图界面中的目标位置;所述获取所述初始控件树中各所述子节点分别对应的第一控件的控件信息,包括:
6.根据权利要求1所述的方法,其特征在于,当所述第二控件的数量为至少两个时,所述基于所述至少一个第二控件,构建所述原生引擎对应的第二控件树,包括:
7.根据权利要求6所述的方法,其特征在于,所述对所述初始控件树的各节点添
8.根据权利要求1所述的方法,其特征在于,所述对所述第一控件树及所述第二控件树进行融合,得到融合控件树,包括:
9.根据权利要求8所述的方法,其特征在于,所述从所述目标控件树中选取目标节点,包括:
10.根据权利要求8所述的方法,其特征在于,所述将所述参考控件树的根节点融合至所述目标控件树中所述目标节点所在的层级,得到所述融合控件树,包括:
11.根据权利要求1所述的方法,其特征在于,所述对所述第一控件树和所述第二控件树进行融合,得到融合控件树之后,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,当所述目标控件是所述第一控件,且所述第一控件通过虚拟对象的方式所展示时,所述触发操作为针对所述虚拟对象的控制操作;所述基于所述目标节点的节点信息,执行针对所述触发操作的操作响应,包括:
13.根据权利要求11所述的方法,其特征在于,所述目标节点的节点信息包括所述目标控件的类型信息,所述基于所述目标节点的节点信息,执行针对所述触发操作的操作响应,包括:
14.根据权利要求1所述的方法,其特征在于,所述对所述第一控件树和所述第二控件树进行融合,得到融合控件树之后,所述方法还包括:
15.一种应用中控件的处理装置,其特征在于,所述装置包括:
16.一种电子设备,其特征在于,所述电子设备包括:
17.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至14任一项所述的应用中控件的处理方法。
18.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至14任一项所述的应用中控件的处理方法。
...【技术特征摘要】
1.一种应用中控件的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当所述第一控件的数量为至少两个时,所述基于所述至少一个第一控件,构建所述目标引擎对应的第一控件树,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述初始控件树的各节点添加相应的节点信息,得到所述目标引擎对应的第一控件树之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述初始控件树的各节点添加相应的节点信息,得到所述目标引擎对应的第一控件树,包括:
5.根据权利要求3所述的方法,其特征在于,所述维度信息包括所述第一控件的位置信息,所述位置信息,用于指示所述第一控件在所述视图界面中的目标位置;所述获取所述初始控件树中各所述子节点分别对应的第一控件的控件信息,包括:
6.根据权利要求1所述的方法,其特征在于,当所述第二控件的数量为至少两个时,所述基于所述至少一个第二控件,构建所述原生引擎对应的第二控件树,包括:
7.根据权利要求6所述的方法,其特征在于,所述对所述初始控件树的各节点添加相应的节点信息,得到所述原生引擎对应的第二控件树之前,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述对所述第一控件树及所述第二控件树进行融合,得到融合控件树,包括:
9.根据权利要求8所述的方法,其特征在于,所述从所述目标控件树中选取目标节点,包括:
10.根据权利要求...
【专利技术属性】
技术研发人员:张戴克,陈强,陈丕敏,
申请(专利权)人:深圳市腾讯信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。