界面显示方法、装置及存储介质与流程

文档序号:35004678发布日期:2023-08-04 02:45阅读:21来源:国知局
界面显示方法、装置及存储介质与流程

本发明实施例涉及互联网及计算机,尤其涉及一种界面显示方法、装置及存储介质。


背景技术:

1、随着智能设备的普及,越来越多的智能设备开始搭载android系统。基于android系统开发带有显示界面的应用程序时,通常基于android原生的ui(user interface,用户界面)体系。

2、然而,android原生的ui体系下,会将显示界面的构建以及显示界面的绘制等相关操作在主线程进行执行。在此流程下,面对ui样式复杂的情况容易造成显示界面显示过程不流畅、出现丢帧卡顿等问题,影响用户体验。


技术实现思路

1、本发明实施例提供的一种界面显示方法、装置及存储介质,可以提高显示界面显示的流畅性。

2、本发明的技术方案是这样实现的:

3、本发明实施例提供了一种界面显示方法,包括:

4、接收服务器发送的界面数据包,对所述界面数据包进行处理后得到待显数据包,将所述待显数据包存储在数据库中;所述待显数据包包括:多个界面数据,每个界面数据包括:至少一个行数据,每个行数据包括:至少一个坑位数据;

5、通过第一线程监听到所述数据库中更新存储了所述待显数据包,触发第二线程遍历所述待显数据包,将所述每个界面数据与对应的前一次容器组件包含的前一次界面数据进行比对,再结合所述至少一个行数据、所述至少一个坑位数据及预知的模板样式,确定出每个界面的目标容器组件;所述前一次容器组件包括对应界面前一次更新后的容器组件;

6、根据所述目标容器组件进行绘制,得到所述每个界面的视图数据,并在屏幕中显示所述视图数据对应的界面。

7、上述方案中,所述将所述每个界面数据与对应的前一次容器组件包含的前一次界面数据进行比对,再结合所述至少一个行数据、所述至少一个坑位数据及预知的模板样式,确定出每个界面的目标容器组件,包括:

8、将所述每个界面数据,与所述前一次容器组件包括的对应界面数据进行比对,得到比对结果;所述前一次容器组件包括:对应界面容器组件,所述对应界面容器组件包括:至少一个对应行容器组件,每个对应行容器组件包括:至少一个对应坑容器组件;所述对应界面数据属于所述对应界面容器组件,所述至少一个对应行容器组件包括至少一个对应行数据,所述至少一个对应坑容器组件包括至少一个对应坑位数据;

9、基于所述比对结果,结合所述每个界面数据确定出界面容器组件;

10、若所述比对结果表征界面相同,将所述每个界面数据对应的至少一个行类型信息和所述至少一个坑类型信息,与所述对应界面数据包含的至少一个对应行类型信息及至少一个对应坑类型信息分别进行比对,再结合多个行模板样式及多个坑位模板样式,确定出至少一个行容器组件,及每个行容器组件对应的至少一个坑容器组件;所述至少一个行类型信息属于所述至少一个行数据,所述至少一个坑类型信息属于所述每个行数据对应的至少一个坑位数据;所述至少一个对应行类型信息属于所述至少一个对应行数据,所述至少一个对应坑类型信息属于所述每个对应行数据对应的至少一个对应坑位数据;

11、通过所述界面容器组件、所述至少一个行容器组件,及所述每个行容器组件对应的所述至少一个坑容器组件,得到所述目标容器组件。

12、上述方案中,所述基于所述比对结果,结合所述每个界面数据确定出界面容器组件之后,所述方法还包括:

13、若所述比对结果表征界面不同,利用所述每个界面数据对应的至少一个行数据和所述至少一个坑位数据,再结合所述多个行模板样式及所述多个坑位模板样式,确定出所述至少一个行容器组件,及所述每个行容器组件对应的所述至少一个坑容器组件。

14、上述方案中,所述将所述每个界面数据,与所述前一次容器组件包括的对应界面数据进行比对,得到比对结果,包括:

15、将所述每个界面数据中包括的界面标识与,所述对应界面数据包括的对应标识进行比对;

16、若所述界面标识与所述对应标识相同,则得到界面相同的比对结果;

17、若所述界面标识与所述对应标识不同,则得到界面不同的比对结果。

18、上述方案中,所述基于所述比对结果,结合所述每个界面数据确定出界面容器组件,包括以下任意一个:

19、若所述比对结果表征界面不同,则利用所述每个界面数据形成所述界面容器组件;

20、若所述比对结果表征界面相同,则将所述每个界面数据包括的多个界面参数信息,与所述对应界面容器组件包括的多个对应参数信息进行匹配,并将不匹配的至少一个界面参数信息更新至所述对应界面容器组件,进而得到所述界面容器组件。

21、上述方案中,所述将所述每个界面数据对应的至少一个行类型信息和所述至少一个坑类型信息,与所述对应界面数据包含的至少一个对应行类型信息及至少一个对应坑类型信息分别进行比对,再结合所述多个行模板样式及所述多个坑位模板样式,确定出至少一个行容器组件,及每个行容器组件对应的至少一个坑容器组件,包括:

22、将所述至少一个行类型信息,与所述至少一个对应行类型信息进行对应匹配,得到第一匹配结果;

23、基于所述第一匹配结果,结合所述至少一个行数据与所述至少一个对应行容器组件的第一组合,或者所述至少一个行数据、所述多个行模板样式与所述至少一个对应行容器组件的第二组合确定出所述至少一个行容器组件;

24、将每个行类型信息对应的所述至少一个坑类型信息,与所述至少一个对应坑类型信息进行对应匹配,得到第二匹配结果;

25、基于所述第二匹配结果,结合所述每个行数据对应的至少一个坑位数据与所述至少一个对应坑容器组件的第三组合,或者所述至少一个坑位数据、所述多个坑模板样式与所述至少一个对应坑容器组件的第四组合确定出所述至少一个坑容器组件。

26、上述方案中,所述基于所述第一匹配结果,结合所述至少一个行数据与所述至少一个对应行容器组件的第一组合,或者所述至少一个行数据、所述多个行模板样式与所述至少一个对应行容器组件的第二组合确定出所述至少一个行容器组件,包括以下任意一个:

27、若所述匹配结果表征所述至少一个行类型信息,与所述至少一个对应行类型信息分别对应匹配,则将所述每个行数据包括的多个行参数信息,与对应行容器组件的多个对应行参数信息进行匹配,并将不匹配的至少一个行参数信息更新至所述对应行容器组件,进而得到所述至少一个行容器组件;

28、若所述匹配结果表征n个行类型信息,与对应的n个对应行类型信息不匹配,则在所述多个行模板样式中确定出所述n个行类型信息对应的n个行模板样式,并将所述n个行模板样式与对应的n个行数据绑定形成n个行容器组件;

29、将所述n个行容器组件更新至所述至少一个对应行容器组件中,并利用匹配的m个行类型信息所属的m个行数据中的行参数信息匹配更新m个对应行容器组件中的对应行参数信息,得到所述至少一个行容器组件;n为大于等于1的整数,m为大于等于1的整数;

30、若所述匹配结果表征所述至少一个行类型信息中存在新增的k个行类型信息,则在所述多个行模板样式中确定出所述k个行类型信息对应的k个行模板样式,并将所述k个行模板样式与对应的k个行数据绑定形成k个行容器组件;

31、将所述k个行容器组件创建在所述至少一个对应行容器组件,并利用匹配的t个行类型信息所属的t个行数据中的所述行参数信息匹配更新t个对应行容器组件中的所述对应行参数信息,得到所述至少一个行容器组件;k为大于等于1的整数;t为大于等于1的整数。

32、上述方案中,所述基于所述第二匹配结果,结合所述每个行数据对应的至少一个坑位数据与所述至少一个对应坑容器组件的第三组合,或者所述至少一个坑位数据、所述多个坑模板样式与所述至少一个对应坑容器组件的第四组合确定出所述至少一个坑容器组件,包括以下任意一个:

33、若所述匹配结果表征所述至少一个坑类型信息,与所述至少一个对应坑类型信息分别对应匹配,则将所述每个坑位数据包括的多个坑参数信息,与对应坑容器组件的多个对应坑参数信息进行匹配,并将不匹配的至少一个坑参数信息更新至所述对应坑容器组件,得到所述至少一个坑容器组件;

34、若所述匹配结果表征z个坑类型信息,与对应的z个对应坑类型信息不匹配,则在所述多个坑模板样式中确定出所述z个坑类型信息对应的z个坑模板样式,并将所述z个坑模板样式与对应的z个坑数据绑定形成z个坑容器组件;

35、将所述z个坑容器组件更新至对应行容器组件包括的所述至少一个对应坑容器组件中,并利用匹配的w个坑类型信息所属的w个坑数据中的坑参数信息匹配更新w个对应坑容器组件中的对应坑参数信息,得到所述至少一个坑容器组件;z为大于等于1的整数,w为大于等于1的整数;

36、若所述匹配结果表征所述至少一个坑类型信息中存在新增的x个坑类型信息,则在所述多个坑模板样式中确定出所述x个坑类型信息对应的x个坑模板样式,并将所述x个坑模板样式与对应的x个坑数据绑定形成x个坑容器组件;

37、将所述x个坑容器组件创建在所述对应行容器组件包括的所述至少一个对应坑容器组件中,并利用匹配的y个坑类型信息所属的y个坑数据中的所述坑参数信息匹配更新y个对应坑容器组件中的对应坑参数信息,得到所述至少一个坑容器组件;x为大于等于1的整数;y为大于等于1的整数。

38、上述方案中,所述若所述比对结果表征界面不同,利用所述每个界面数据对应的至少一个行数据和所述至少一个坑位数据,再结合所述多个行模板样式及所述多个坑位模板样式,确定出所述至少一个行容器组件,及所述每个行容器组件对应的所述至少一个坑容器组件,包括:

39、在所述多个行模板样式中,确定出所述至少一个行类型信息对应的至少一个行模板样式,将所述至少一个行模板样式与对应的所述至少一个行数据绑定形成所述至少一个行容器组件;

40、在所述多个坑模板样式中,确定出每个行类型信息对应的至少一个坑类型信息的至少一个坑模板样式,将所述至少一个坑模板样式与对应的所述至少一个坑数据绑定,进而形成所述每个行容器组件对应的所述至少一个坑容器组件。

41、上述方案中,所述将所述每个界面数据,与所述前一次容器组件包括的对应界面数据进行比对,得到比对结果之前,所述方法还包括:

42、利用所述待显数据包包括的多个主题信息,更新前一次待显数据包中的多个前一次主题信息;所述前一次待显数据包包括多个界面对应的多个所述前一次容器组件。

43、上述方案中,接收服务器发送的界面数据包,对所述界面数据包进行处理后得到待显数据包,包括:

44、接收服务器发送的界面数据包;所述界面数据包包括:多个初始界面数据,每个初始界面数据包括:至少一个初始行数据,每个初始行数据包括:至少一个初始坑位数据;

45、利用预存的预处理数据包对所述界面数据包进行更新,以对所述多个初始界面数据进行更新、排序、删除,进而得到所述待显数据包;所述预处理数据包包括:服务器预先发送的对所述多个初始界面数据进行更新、排序、删除的数据包,和预先获取的用户配置的对所述多个初始界面数据进行更新、排序、删除的数据包。

46、本发明实施例还提供了一种界面显示装置,包括:

47、数据接收单元,用于接收服务器发送的界面数据包,对所述界面数据包进行处理后得到待显数据包,将所述待显数据包存储在数据库中;所述待显数据包包括:多个界面数据,每个界面数据包括:至少一个行数据,每个行数据包括:至少一个坑位数据;

48、容器确定单元,用于通过第一线程监听到所述数据库中更新存储了所述待显数据包,触发第二线程遍历所述待显数据包,将所述每个界面数据与对应的前一次容器组件包含的前一次界面数据进行比对,再结合所述至少一个行数据、所述至少一个坑位数据及预知的模板样式,确定出每个界面的目标容器组件;所述前一次容器组件包括对应界面前一次更新后的容器组件;

49、绘制显示单元,用于根据所述目标容器组件进行绘制,得到所述每个界面的视图数据,并在屏幕中显示所述视图数据对应的界面。

50、本发明实施例还提供了一种界面显示装置,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行上述方法中的步骤。

51、本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。

52、本发明实施例中,接收服务器发送的界面数据包,对界面数据包进行处理后得到待显数据包,将待显数据包存储在数据库中;待显数据包包括:多个界面数据,每个界面数据包括:至少一个行数据,每个行数据包括:至少一个坑位数据;通过第一线程监听到数据库中更新存储了待显数据包,触发第二线程遍历待显数据包,将每个界面数据与对应的前一次容器组件包含的前一次界面数据进行比对,再结合至少一个行数据、至少一个坑位数据及预知的模板样式,确定出每个界面的目标容器组件;前一次容器组件包括对应界面前一次更新后的容器组件。根据目标容器组件进行绘制,得到每个界面的视图数据,并在屏幕中显示视图数据对应的界面。由于本方案是通过第二线程(也就是子线程)确定出目标容器组件的,减少了主线程阻塞,而且多个行模板样式和多个坑位模板样式也是预知的,进而在面对复杂的ui样式时可以更快的确定出目标容器组件,所以提高了显示界面显示的流畅性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1