基于镜像的页面显示方法及装置、存储介质、计算机设备与流程

未命名 10-09 阅读:88 评论:0


1.本技术涉及页面显示技术领域,尤其是涉及到一种基于镜像的页面显示方法及装置、存储介质、计算机设备。


背景技术:

2.随着智能电子设备的不断普及以及互联网技术的不断发展,越来越多的人通过智能电子设备进行信息浏览。用户通过应用程序请求某个业务打开页面时,客户端会从服务器上拉取页面的渲染信息,从而进行页面渲染。在页面上的信息较多、页面布局复杂时,需要从服务器拉取的数据量较大,数据量大会导致数据处理或者界面渲染逻辑耗时界面打开耗时严重。现有技术中,大多是通过简化ui布局,减少布局层级(嵌套)加快界面渲染速度,或者数据逻辑层加入多线程加快数据逻辑执行。简化ui布局不仅会削弱页面的表现力,而且仍然需要花费一定的从服务器上拉取数据,并没有从根本上解决问题。用户请求打开页面时,仍然需要等待较长时间,页面显示速度较慢,用户体验差。


技术实现要素:

3.有鉴于此,本技术提供了一种基于镜像的页面显示方法及装置、存储介质、计算机设备,通过对页面的ui布局文件进行镜像和缓存,从而直接利用本地缓存中的ui布局文件镜像对页面进行ui布局渲染,有助于提升页面渲染速度,加快页面打开速度,减少用户等待时间,提升用户体验。
4.根据本技术的一个方面,提供了一种基于镜像的页面显示方法,所述方法包括:
5.响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;
6.基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像;
7.基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。
8.可选地,所述页面镜像还包括镜像业务标识和业务数据镜像;所述在所述应用程序的镜像缓存中查询与所述镜像查询信息匹配的页面镜像之后,所述方法还包括:
9.判断所述请求业务标识是否为所述镜像业务标识;
10.若所述请求业务标识为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并将所述业务数据镜像填充至渲染后的ui层上;
11.若所述请求业务标识不为所述镜像业务标识,则执行所述基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上的步骤。
12.可选地,所述将所述业务数据镜像填充至渲染后的ui层上之后,所述方法还包括:
13.拉取所述请求业务标识对应的第二业务数据;
14.基于所述第二业务数据对填充在所述ui层上的业务数据镜像进行更新。
15.可选地,所述页面镜像还包括业务数据镜像时间戳;所述拉取所述请求业务标识对应的第二业务数据,包括:
16.调用数据接口查询所述请求业务标识对应的业务数据更新时间戳;
17.若所述业务数据镜像时间戳与所述业务数据更新时间戳一致,则保持ui层上的业务数据镜像不变;
18.若所述业务数据镜像时间戳与所述业务数据更新时间戳不一致,则拉取所述请求业务标识对应的第二业务数据,并将所述页面镜像中的业务数据镜像替换为所述第二业务数据。
19.可选地,所述将所述第一业务数据填充至渲染后的ui层上之后,所述方法还包括:
20.基于所述请求业务标识生成新的镜像业务标识,基于所述第一业务数据生成新的业务数据镜像进行,并将所述新的镜像业务标识和所述新的业务数据镜像存储在所述目标页面的页面镜像中。
21.可选地,所述方法还包括:
22.若未在所述镜像缓存中不存在与所述页面标识匹配的页面镜像,则拉取所述页面标识对应的ui布局文件和所述请求业务标识对应的第三业务数据;
23.基于所述ui布局文件对所述目标页面进行ui层渲染,并将所述第三业务数据填充至渲染后的ui层上;
24.基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像。
25.可选地,所述基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像,包括:
26.将应用程序标识和所述页面标识组合为key;
27.生成所述ui布局文件对应的ui布局文件镜像,生成所述第三业务数据对应的业务数据镜像,并将所述ui布局文件镜像、所述业务数据镜像以及所述请求业务标识组合为value;
28.基于所述key和所述value生成所述目标页面的页面镜像,并存储在所述镜像缓存中。
29.可选地,所述在所述镜像缓存中存储所述目标页面的页面镜像之后,所述方法还包括:
30.检测应用程序的运行内存是否超过应用程序总内存的预设百分比;
31.若超过,则将所述镜像缓存中存入时间最早的页面镜像删除。
32.根据本技术的另一方面,提供了一种基于镜像的页面显示装置,所述装置包括:
33.获取模块,用于响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;
34.查询模块,用于基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像;
35.显示模块,用于基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步
拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。
36.可选地,所述显示模块,还用于:
37.判断所述请求业务标识是否为所述镜像业务标识;
38.若所述请求业务标识为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并将所述业务数据镜像填充至渲染后的ui层上;
39.若所述请求业务标识不为所述镜像业务标识,则执行所述基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上的步骤。
40.可选地,所述显示模块,还用于:
41.所述将所述业务数据镜像填充至渲染后的ui层上之后,拉取所述请求业务标识对应的第二业务数据;
42.基于所述第二业务数据对填充在所述ui层上的业务数据镜像进行更新。
43.可选地,所述显示模块,还用于:
44.调用数据接口查询所述请求业务标识对应的业务数据更新时间戳;
45.若所述业务数据镜像时间戳与所述业务数据更新时间戳一致,则保持ui层上的业务数据镜像不变;
46.若所述业务数据镜像时间戳与所述业务数据更新时间戳不一致,则拉取所述请求业务标识对应的第二业务数据,并将所述页面镜像中的业务数据镜像替换为所述第二业务数据。
47.可选地,所述显示模块,还用于:
48.若未在所述镜像缓存中不存在与所述页面标识匹配的页面镜像,则拉取所述页面标识对应的ui布局文件和所述请求业务标识对应的第三业务数据;
49.基于所述ui布局文件对所述目标页面进行ui层渲染,并将所述第三业务数据填充至渲染后的ui层上;
50.所述装置还包括:存储模块,用于基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像。
51.可选地,所述存储模块,还用于:
52.将应用程序标识和所述页面标识组合为key;
53.生成所述ui布局文件对应的ui布局文件镜像,生成所述第三业务数据对应的业务数据镜像,并将所述ui布局文件镜像、所述业务数据镜像以及所述请求业务标识组合为value;
54.基于所述key和所述value生成所述目标页面的页面镜像,并存储在所述镜像缓存中。
55.可选地,述存储模块,还用于:
56.在所述将所述第一业务数据填充至渲染后的ui层上之后,基于所述请求业务标识生成新的镜像业务标识,基于所述第一业务数据生成新的业务数据镜像进行,并将所述新的镜像业务标识和所述新的业务数据镜像存储在所述目标页面的页面镜像中。
57.可选地,所述存储模块,还用于:
58.所述在所述镜像缓存中存储所述目标页面的页面镜像之后,检测应用程序的运行内存是否超过应用程序总内存的预设百分比;
59.若超过,则将所述镜像缓存中存入时间最早的页面镜像删除。
60.依据本技术又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于镜像的页面显示方法。
61.依据本技术再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于镜像的页面显示方法。
62.借由上述技术方案,本技术提供的一种基于镜像的页面显示方法及装置、存储介质、计算机设备,将应用程序页面的ui布局文件镜像存储在镜像缓存中,从而在用户请求打开目标页面时,根据目标页面的页面标识从镜像缓存中读取目标页面的页面镜像进行目标页面的ui层渲染,同时拉取请求业务标识对应的第一业务数据,填充在目标页面的ui层上,形成完整的目标页面。本技术实施例通过对页面的ui布局文件进行镜像和缓存,从而直接利用本地缓存中的ui布局文件镜像对页面进行ui布局渲染,有助于提升页面渲染速度,加快页面打开速度,减少用户等待时间,提升用户体验。
63.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
64.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
65.图1示出了本技术实施例提供的一种基于镜像的页面显示方法的流程示意图;
66.图2示出了本技术实施例提供的另一种基于镜像的页面显示方法的流程示意图;
67.图3示出了本技术实施例提供的另一种基于镜像的页面显示方法的流程示意图;
68.图4示出了本技术实施例提供的一种业务数据拉取方法的流程示意图;
69.图5示出了本技术实施例提供的一种页面镜像数据结构的示意图;
70.图6示出了本技术实施例提供的一种基于镜像的页面显示装置的结构示意图;
71.图7示出了本技术实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
72.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
73.在本实施例中提供了一种基于镜像的页面显示方法,如图1所示,该方法包括:
74.步骤101,响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识。
75.步骤102,基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像。
76.步骤103,基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。
77.本技术实施例中,首先,在用户使用应用程序请求显示某个目标页面时,客户端获取该目标页面对应的页面标识以及显示请求对应的请求业务标识,其中,页面标识具体可以为目标页面的类名。其次,客户端根据目标页面的页面标识在应用程序的镜像缓存中查询是否存在与该页面标识匹配的页面镜像,其中,镜像缓存用于存储应用程序中任意页面的页面镜像,某个页面的页面镜像至少包括该页面的ui布局文件的镜像,用于渲染该页面的ui布局。另外,页面镜像还可以包括填充在页面ui布局中的数据。最后,直接利用目标页面的页面镜像中的ui布局文件镜像进行目标页面的ui层渲染,并在渲染的同时从服务器中拉取与请求业务标识匹配的第一业务数据,从而在拉取完第一业务数据后将第一业务数据填充在渲染好的目标业务ui层上。另外,如果页面镜像中包括业务数据镜像且该业务数据镜像与业务请求标识匹配,也可以直接将业务数据镜像填充在ui层。
78.通过应用本实施例的技术方案,将应用程序页面的ui布局文件镜像存储在镜像缓存中,从而在用户请求打开目标页面时,根据目标页面的页面标识从镜像缓存中读取目标页面的页面镜像进行目标页面的ui层渲染,同时拉取请求业务标识对应的第一业务数据,填充在目标页面的ui层上,形成完整的目标页面。本技术实施例通过对页面的ui布局文件进行镜像和缓存,从而直接利用本地缓存中的ui布局文件镜像对页面进行ui布局渲染,有助于提升页面渲染速度,加快页面打开速度,减少用户等待时间,提升用户体验。
79.进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种基于镜像的页面显示方法,如图2所示,该方法包括:
80.步骤201,响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识。
81.步骤202,基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像。
82.步骤203,判断所述请求业务标识是否为所述镜像业务标识。
83.步骤204,若所述请求业务标识为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并将所述业务数据镜像填充至渲染后的ui层上;拉取所述请求业务标识对应的第二业务数据;基于所述第二业务数据对填充在所述ui层上的业务数据镜像进行更新。
84.本技术实施例中,页面镜像中除了包含ui布局文件镜像外,还包括业务数据镜像,其中,同一页面可以适用于不同的业务请求,查询到页面镜像后,可以进一步判断该页面镜像中的业务数据镜像是否与显示请求的请求业务标识匹配,即判断请求业务标识是否属于业务数据镜像对应的镜像业务标识。如果请求业务标识属于镜像业务标识,那么说明页面镜像是基于与本次请求相同的业务标识而存储的,可以直接利用页面镜像中的ui布局文件镜像进行目标页面的ui层渲染,并利用页面镜像中的业务数据镜像对渲染好的ui层进行数据填充,以实现对目标页面的快速显示。另外,如图3所示,当启动ui(view)界面时,会查询map缓存对象中是否存在镜像;如果存在,会再次判断对象中的业务请求id与当前的业务请求id是否一致,如果一致直接显示当前界面同时异步调用接口查询数据是否有更新(接口
参数为请求id),如果有更新直接更新数据至ui;如果业务id不一致则会clone(克隆)ui对象先显示ui再执行业务数据逻辑层后将数据填充至ui中。进一步为了确保页面上显示的业务数据为最新,可以在利用业务数据镜像进行目标页面的快速数据填充的同时,从服务器上拉取与请求业务标识对应的最新的业务数据,即上述第二业务数据,从而根据第二业务数据对填充在ui层上的业务数据进行更新。
85.在本技术实施例中,可选地,所述页面镜像还包括业务数据镜像时间戳;所述拉取所述请求业务标识对应的第二业务数据,包括:调用数据接口查询所述请求业务标识对应的业务数据更新时间戳;若所述业务数据镜像时间戳与所述业务数据更新时间戳一致,则保持ui层上的业务数据镜像不变;若所述业务数据镜像时间戳与所述业务数据更新时间戳不一致,则拉取所述请求业务标识对应的第二业务数据,并将所述页面镜像中的业务数据镜像替换为所述第二业务数据。
86.在该实施例中,调用数据接口查询服务器中与请求业务标识对应的业务数据的业务数据更新时间戳,比较服务端中的该业务数据更新时间戳与本地镜像缓存中页面镜像中的业务数据镜像时间戳是否一致。如果一致说明业务数据没发生变化,保持目标页面不变即可。而如果不一致则说明业务数据发生了变化,这时可以通过数据接口拉取服务端最新的第二业务数据,并利用第二业务数据对目标页面上显示的业务数据进行更新,同时为了确保下一次用户使用相同业务打开目标页面时能够准确显示业务数据,将本地镜像缓存中页面镜像内的业务数据镜像替换成第二业务数据,即将第二业务数据保存为目标页面的页面镜像中该业务请求标识对应的新的业务数据镜像。如图4所示,该流程图主要描述数据接口是否有更新的详细说明:首先调用server端数据接口得到正确的服务端返回的json字符串;获取json字符串中的code码(该code码主要是server端的更新时间戳,如果有更新code码会更新为当前时间戳),该code码与本地存储的code码是否一致,如果一致表示数据没有更新,如果不一致表示数据有更新;当数据有更新时会将当前server端返回的json字符串存储在本地;存储方式以xml文件存储,xml中的key为url请求地址包括参数,值为json字符串。
87.步骤205,若所述请求业务标识不为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上;基于所述请求业务标识生成新的镜像业务标识,基于所述第一业务数据生成新的业务数据镜像进行,并将所述新的镜像业务标识和所述新的业务数据镜像存储在所述目标页面的页面镜像中。
88.在该实施例中,如果镜像缓存中包含目标页面的页面镜像,但请求业务标识并不在页面镜像的镜像业务标识中,说明之前针对目标页面存储的页面镜像是用户通过其他业务请求打开该页面时进行存储的,页面镜像中的业务数据镜像在本次不可用,但页面镜像中的ui布局文件镜像仍可用。这时基于ui布局文件镜像对目标页面进行ui层渲染,同时同步的从服务器中拉取请求业务标识对应的业务数据,即第一业务数据,并将拉取到的第一业务数据填充在渲染好的目标页面ui层上,形成完整目标页面。
89.进一步,还可以将该请求业务标识和对应的第一业务数据作为新的镜像存储在目标页面的页面镜像中,以便下次针对同一业务进行请求时可以直接利用页面镜像进行页面显示。
90.步骤206,若未在所述镜像缓存中不存在与所述页面标识匹配的页面镜像,则拉取所述页面标识对应的ui布局文件和所述请求业务标识对应的第三业务数据;基于所述ui布局文件对所述目标页面进行ui层渲染,并将所述第三业务数据填充至渲染后的ui层上;基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像。
91.在该实施例中,如果本地的镜像缓存中不存在该目标页面的页面镜像,则会将创建一个新的业务ui实例,渲染ui执行业务数据层将数据在ui层上显示出来,成功之后将当前的业务ui实例存储在本地的镜像缓存中供下一个ui界面使用。
92.步骤207,检测应用程序的运行内存是否超过应用程序总内存的预设百分比;若超过,则将所述镜像缓存中存入时间最早的页面镜像删除。
93.在该实施例中,每增加一次镜像缓存,缓存机制会对当前app内存做一次判断,如果当前app所占运行内存超过系统分配app总内存的三分之二这时会对map缓存做删除操作(先进先删原则),这样避免app出现卡顿或者内存溢出。
94.可选地,所述基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像,包括:将应用程序标识和所述页面标识组合为key;生成所述ui布局文件对应的ui布局文件镜像,生成所述第三业务数据对应的业务数据镜像,并将所述ui布局文件镜像、所述业务数据镜像以及所述请求业务标识组合为value;基于所述key和所述value生成所述目标页面的页面镜像,并存储在所述镜像缓存中。
95.在该实施例中,如图5所示,页面镜像以key-value键值对数据结构存储,其中,key:包名.类名,具体为“应用程序包名.页面类名”。镜像缓存可以为本地的map缓存,map缓存中的value数据model结构主要包括ui层和业务逻辑层,即ui布局文件镜像和业务数据镜像。ui层顾名思义就是view布局文件(包括静态布局和动态布局);业务逻辑主要由网络请求和数据库操作,业务逻辑提供接口给ui层调用,这样就能把数据填充至ui中。
96.进一步的,作为图1方法的具体实现,本技术实施例提供了一种基于镜像的页面显示装置,如图6所示,该装置包括:
97.获取模块,用于响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;
98.查询模块,用于基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像;
99.显示模块,用于基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。
100.可选地,所述显示模块,还用于:
101.判断所述请求业务标识是否为所述镜像业务标识;
102.若所述请求业务标识为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并将所述业务数据镜像填充至渲染后的ui层上;
103.若所述请求业务标识不为所述镜像业务标识,则执行所述基于所述ui布局文件镜
像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上的步骤。
104.可选地,所述显示模块,还用于:
105.所述将所述业务数据镜像填充至渲染后的ui层上之后,拉取所述请求业务标识对应的第二业务数据;
106.基于所述第二业务数据对填充在所述ui层上的业务数据镜像进行更新。
107.可选地,所述显示模块,还用于:
108.调用数据接口查询所述请求业务标识对应的业务数据更新时间戳;
109.若所述业务数据镜像时间戳与所述业务数据更新时间戳一致,则保持ui层上的业务数据镜像不变;
110.若所述业务数据镜像时间戳与所述业务数据更新时间戳不一致,则拉取所述请求业务标识对应的第二业务数据,并将所述页面镜像中的业务数据镜像替换为所述第二业务数据。
111.可选地,所述显示模块,还用于:
112.若未在所述镜像缓存中不存在与所述页面标识匹配的页面镜像,则拉取所述页面标识对应的ui布局文件和所述请求业务标识对应的第三业务数据;
113.基于所述ui布局文件对所述目标页面进行ui层渲染,并将所述第三业务数据填充至渲染后的ui层上;
114.所述装置还包括:存储模块,用于基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像。
115.可选地,所述存储模块,还用于:
116.将应用程序标识和所述页面标识组合为key;
117.生成所述ui布局文件对应的ui布局文件镜像,生成所述第三业务数据对应的业务数据镜像,并将所述ui布局文件镜像、所述业务数据镜像以及所述请求业务标识组合为value;
118.基于所述key和所述value生成所述目标页面的页面镜像,并存储在所述镜像缓存中。
119.可选地,述存储模块,还用于:
120.在所述将所述第一业务数据填充至渲染后的ui层上之后,基于所述请求业务标识生成新的镜像业务标识,基于所述第一业务数据生成新的业务数据镜像进行,并将所述新的镜像业务标识和所述新的业务数据镜像存储在所述目标页面的页面镜像中。
121.可选地,所述存储模块,还用于:
122.所述在所述镜像缓存中存储所述目标页面的页面镜像之后,检测应用程序的运行内存是否超过应用程序总内存的预设百分比;
123.若超过,则将所述镜像缓存中存入时间最早的页面镜像删除。
124.需要说明的是,本技术实施例提供的一种基于镜像的页面显示装置所涉及各功能单元的其他相应描述,可以参考图1至图5方法中的对应描述,在此不再赘述。
125.本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图7所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输
出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
126.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
127.在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
128.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
129.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
130.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
131.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
132.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种基于镜像的页面显示方法,其特征在于,所述方法包括:响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像;基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。2.根据权利要求1所述的方法,其特征在于,所述页面镜像还包括镜像业务标识和业务数据镜像;所述在所述应用程序的镜像缓存中查询与所述镜像查询信息匹配的页面镜像之后,所述方法还包括:判断所述请求业务标识是否为所述镜像业务标识;若所述请求业务标识为所述镜像业务标识,则基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并将所述业务数据镜像填充至渲染后的ui层上;拉取所述请求业务标识对应的第二业务数据,基于所述第二业务数据对填充在所述ui层上的业务数据镜像进行更新;若所述请求业务标识不为所述镜像业务标识,则执行所述基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上的步骤。3.根据权利要求2所述的方法,其特征在于,所述将所述第一业务数据填充至渲染后的ui层上之后,所述方法还包括:基于所述请求业务标识生成新的镜像业务标识,基于所述第一业务数据生成新的业务数据镜像进行,并将所述新的镜像业务标识和所述新的业务数据镜像存储在所述目标页面的页面镜像中。4.根据权利要求2所述的方法,其特征在于,所述页面镜像还包括业务数据镜像时间戳;所述拉取所述请求业务标识对应的第二业务数据,包括:调用数据接口查询所述请求业务标识对应的业务数据更新时间戳;若所述业务数据镜像时间戳与所述业务数据更新时间戳一致,则保持ui层上的业务数据镜像不变;若所述业务数据镜像时间戳与所述业务数据更新时间戳不一致,则拉取所述请求业务标识对应的第二业务数据,并将所述页面镜像中的业务数据镜像替换为所述第二业务数据。5.根据权利要求2至4中任一项所述的方法,其特征在于,所述方法还包括:若未在所述镜像缓存中不存在与所述页面标识匹配的页面镜像,则拉取所述页面标识对应的ui布局文件和所述请求业务标识对应的第三业务数据;基于所述ui布局文件对所述目标页面进行ui层渲染,并将所述第三业务数据填充至渲染后的ui层上;基于所述页面标识、所述请求业务标识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像。6.根据权利要求5所述的方法,其特征在于,所述基于所述页面标识、所述请求业务标
识、所述ui布局文件以及所述第三业务数据,在所述镜像缓存中存储所述目标页面的页面镜像,包括:将应用程序标识和所述页面标识组合为key;生成所述ui布局文件对应的ui布局文件镜像,生成所述第三业务数据对应的业务数据镜像,并将所述ui布局文件镜像、所述业务数据镜像以及所述请求业务标识组合为value;基于所述key和所述value生成所述目标页面的页面镜像,并存储在所述镜像缓存中。7.根据权利要求5所述的方法,其特征在于,所述在所述镜像缓存中存储所述目标页面的页面镜像之后,所述方法还包括:检测应用程序的运行内存是否超过应用程序总内存的预设百分比;若超过,则将所述镜像缓存中存入时间最早的页面镜像删除。8.一种基于镜像的页面显示装置,其特征在于,所述装置包括:获取模块,用于响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;查询模块,用于基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括ui布局文件镜像;显示模块,用于基于所述ui布局文件镜像对所述目标页面进行ui层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的ui层上。9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。

技术总结
本申请公开了一种基于镜像的页面显示方法及装置、存储介质、计算机设备,该方法包括:响应于对应用程序中目标页面的显示请求,获取所述目标页面的页面标识以及所述显示请求对应的请求业务标识;基于所述页面标识生成所述目标页面的镜像查询信息,并在所述应用程序的镜像缓存中查询与所述页面标识匹配的页面镜像,其中,所述页面镜像包括UI布局文件镜像;基于所述UI布局文件镜像对所述目标页面进行UI层渲染,并同步拉取所述请求业务标识对应的第一业务数据,将所述第一业务数据填充至渲染后的UI层上。有助于提升页面渲染速度,加快页面打开速度,减少用户等待时间,提升用户体验。提升用户体验。提升用户体验。


技术研发人员:吴剑文 张星亮
受保护的技术使用者:深圳市六度人和科技有限公司
技术研发日:2023.06.09
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐