一种页面的刷新方法、装置、存储介质及移动终端与流程

文档序号:15828878发布日期:2018-11-03 00:14阅读:112来源:国知局

本发明涉及计算机技术领域,特别是涉及一种页面的刷新方法、装置、存储介质及移动终端。

背景技术

随着如智能手机、智能平板等智能移动终端走进人们的日常生活,而各种应用程序(app,application)更是丰富了移动终端的功能,使用户对移动终端使用体验的要求也越来越高,合理的显示页面布局、快速的刷新速度、版本的更新频率以及稳定的使用过程等,均决定了用户对一个app的使用喜好。

一个app在发布后可能存在漏洞(bug),这些bug可能不会影响app的主要功能的使用,但是可能会影响用户的使用体验,因此app开发者常通过热更新的方式,在app打开并连接到网络后,通过动态下发代码,使开发者在不发布新版本的情况下修复bug,避免开发者长时间的版本审核等待,也避免了用户需要频繁的进行版本更新。

现有技术中,在app根据热更新动态下发的代码进行页面刷新时,通常使用异步耗时方法,如面向对象编程语言java的反射机制等,但异步耗时方法从触发到页面真正刷新这段时间处于不可控的状态,无法设置合适的交互通知用户,很可能导致这段时间用户页面处于白屏阶段,并且,当用户发现白屏时,可能会误以为是程序卡顿或故障,若进行其他操作或触发数据交互等,会造成程序崩溃,进而影响用户的使用体验。



技术实现要素:

本发明提供一种页面的刷新方法、装置、存储介质及移动终端,用以解决现有技术的如下问题:使用异步耗时方法进行热更新后的页面刷新时易出现白屏。

为解决上述技术问题,一方面,本发明提供一种页面的刷新方法,包括:创建页面控件;将第一页面元素放置到所述页面控件中,并加载第一缓存文件的内容;在页面刷新时,创建第二页面元素;将所述第二页面元素放置到所述页面控件中,并加载第二缓存文件的内容;其中,所述第一缓存文件为终端本地保存的缓存文件,所述第二缓存文件为服务器发送给所述终端的缓存文件。

进一步,所述将所述第二页面元素放置到所述页面控件中,并加载第二缓存文件的内容,包括:在所述页面控件中,将所述第二页面元素覆盖至所述第一页面元素上;在所述第二页面元素中加载所述第二缓存文件。

进一步,所述在页面刷新时,创建第二页面元素之前,还包括:接收所述服务器发送的第二缓存文件。

进一步,所述将所述第二页面元素放置到所述页面控件中,包括:将所述第二页面元素放置到所述页面控件中,并占满所述页面控件。

另一方面,本发明还提供一种页面的刷新装置,包括:第一创建模块,用于创建页面控件;加载模块,用于将第一页面元素放置到所述页面控件中,并加载第一缓存文件的内容;第二创建模块,用于在页面刷新时,创建第二页面元素;所述加载模块,还用于将所述第二页面元素放置到所述页面控件中,并加载第二缓存文件的内容;其中,所述第一缓存文件为终端本地保存的缓存文件,所述第二缓存文件为服务器发送给所述终端的缓存文件。

进一步,所述加载模块,具体用于:在所述页面控件中,将所述第二页面元素覆盖至所述第一页面元素上;在所述第二页面元素中加载所述第二缓存文件。

进一步,还包括:接收模块,用于接收所述服务器发送的第二缓存文件。

进一步,所述加载模块,具体用于:将所述第二页面元素放置到所述页面控件中,并占满所述页面控件。

另一方面,本发明还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的页面的刷新方法的步骤。

另一方面,本发明还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的页面的刷新方法的步骤。

本发明通过设置页面控件以显示第一页面元素,并在第一页面元素中加载第一缓存文件,在热更新产生后,创建第二页面元素并在页面控件中显示第二页面元素,基于页面控件的层级覆盖属性,页面控件中只能显示第二页面元素中加载的第二缓存文件。将第二页面元素放置到页面控件中进行显示只是一瞬间的操作,因此,本发明的页面刷新方法可以达到瞬间刷新的效果,使用户无从感知,也不会出现白屏状态。

附图说明

图1是本发明第一实施例中页面的刷新方法的流程图;

图2是本发明第二实施例中页面的刷新方法的流程图;

图3是本发明第三实施例中页面的刷新方法的流程图;

图4是本发明第四实施例中页面的刷新装置的结构示意图;

图5是本发明第五实施例中页面的刷新装置的结构示意图。

具体实施方式

为了解决现有技术的如下问题:使用异步耗时方法进行热更新后的页面刷新时易出现白屏,本发明提供了一种页面的刷新方法、装置、存储介质及移动终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明的第一实施例提供了一种页面的刷新方法,应用于终端,其流程图如图1所示,具体包括步骤s101至s104:

s101,创建页面控件。

s102,将第一页面元素放置到页面控件中,并加载第一缓存文件的内容。

在app中,页面控件通常设置在显示页面中的固定位置,用于显示页面元素中加载的缓存文件内容。在没有进行热更新操作时,不需要进行页面刷新,页面控件中放置创建的第一页面元素,用于显示终端本地保存的第一缓存文件中的内容,第一缓存文件的内容可以为下载app时对应的程序文件中的内容,也可以是上一次热更新后从服务器中下载的缓存文件。

可选地,第一页面元素在创建时,其大小可以设置为与页面控件的大小相同,使第一页面元素在放置到页面控件时,可以占满整个页面控件,达到更好的显示效果。

s103,在页面刷新时,创建第二页面元素。

s104,将第二页面元素放置到页面控件中,并加载第二缓存文件的内容。

若app开发者需要对app中的某个漏洞或错误进行修改,为了避免长时间的版本审核等待以及频繁的版本更新,常通过热更新的方式下发动态代码,已达到修复漏洞或错误的目的。在热更新完成之后,需要进行页面刷新操作,为了避免页面刷新时出现白屏,在页面刷新时,先创建第二页面元素,以加载热更新时由服务器下发的第二缓存文件,并基于页面控件的层级覆盖属性,即只能显示最上层的页面元素的内容,将第二页面元素放置页面控件中,此时页面控件中显示第二页面元素中加载的第二缓存文件的内容,完成页面刷新过程。

优选地,第二页面元素在放置到页面控件中时,应当占满页面控件,以保证页面控件只显示第二页面元素中加载的第二缓存文件内容,因此,也可在创建第二页面元素时,将第二页面元素的大小设置成与页面控件的大小相同。若第二页面元素没有占满整个页面控件,则第一页面元素可能有部分内容没有被覆盖,则可能会造成虽然第二页面元素可以正常显示,但同时显示第一页面元素中的未被覆盖的内容,进而影响用户的使用。

本实施例通过设置页面控件以显示第一页面元素,并在第一页面元素中加载第一缓存文件,在热更新产生后,创建第二页面元素并在页面控件中显示第二页面元素,基于页面控件的层级覆盖属性,页面控件中只能显示第二页面元素中加载的第二缓存文件。将第二页面元素放置到页面控件中进行显示只是一瞬间的操作,因此,本发明的页面刷新方法可以达到瞬间刷新的效果,使用户无从感知,也不会出现白屏状态。

进一步地,由于第二页面元素中的内容是瞬间显示在页面控件中的,在其后台创建和加载的过程中,用户是无法感知的,在后台的操作也不会影响用户当前的使用功能,也就不会存在页面刷新时产生误操作或数据交互进而使程序崩溃的问题,进而增强了app的健壮性。

本发明的第二实施例提供了一种页面的刷新方法,应用于终端,其流程图如图2所示,主要包括步骤s201至s205:

s201,创建页面控件。

s202,将第一页面元素放置到页面控件中,并加载第一缓存文件的内容。

在app中,页面控件通常设置在显示页面中的固定位置,用于显示页面元素中加载的缓存文件内容。在没有进行热更新操作时,不需要进行页面刷新,页面控件中放置创建的第一页面元素,用于显示终端本地保存的第一缓存文件中的内容,第一缓存文件的内容可以为下载app时对应的程序文件中的内容,也可以是上一次热更新后从服务器中下载的缓存文件。

可选地,第一页面元素在创建时,其大小可以设置为与页面控件的大小相同,使第一页面元素在放置到页面控件时,可以占满整个页面控件,达到更好的显示效果。

s203,在页面刷新时,创建第二页面元素。

s204,在页面控件中,将第二页面元素覆盖至第一页面元素上。

s205,在第二页面元素中加载第二缓存文件。

若app开发者需要对app中的某个漏洞或错误进行修改,为了避免长时间的版本审核等待以及频繁的版本更新,常通过热更新的方式下发动态代码,已达到修复漏洞或错误的目的。在热更新完成之后,需要进行页面刷新操作,为了避免页面刷新时出现白屏,在页面刷新时,先创建第二页面元素,以加载热更新时由服务器下发的第二缓存文件。具体地,在将第二页面元素放置至页面控件中时,应将其覆盖在原有的第一页面元素之上,以保证第二页面元素在第一页面元素的上层,并在第二页面元素中加载第二缓存文件。在实际显示时,基于页面控件的层级覆盖属性,即只能显示最上层的页面元素的内容,此时页面控件中显示第二页面元素中加载的第二缓存文件的内容,完成页面刷新过程。

优选地,第二页面元素在放置到页面控件中时,应当占满页面控件,以保证页面控件只显示第二页面元素中加载的第二缓存文件内容,因此,也可在创建第二页面元素时,将第二页面元素的大小设置成与页面控件的大小相同。若第二页面元素没有占满整个页面控件,则第一页面元素可能有部分内容没有被覆盖,则可能会造成虽然第二页面元素可以正常显示,但同时显示第一页面元素中的未被覆盖的内容,进而影响用户的使用。

本实施例通过设置页面控件以显示第一页面元素,并在第一页面元素中加载第一缓存文件,在热更新产生后,创建第二页面元素并在页面控件中显示第二页面元素,基于页面控件的层级覆盖属性,页面控件中只能显示第二页面元素中加载的第二缓存文件。将第二页面元素放置到页面控件中进行显示只是一瞬间的操作,因此,本发明的页面刷新方法可以达到瞬间刷新的效果,使用户无从感知,也不会出现白屏状态。

进一步地,由于第二页面元素中的内容是瞬间显示在页面控件中的,在其后台创建和加载的过程中,用户是无法感知的,在后台的操作也不会影响用户当前的使用功能,也就不会存在页面刷新时产生误操作或数据交互进而使程序崩溃的问题,进而增强了app的健壮性。

本发明的第三实施例提供了一种页面的刷新方法,应用于终端,其流程图如图3所示,主要包括步骤s301至s305:

s301,创建页面控件。

s302,将第一页面元素放置到页面控件中,并加载第一缓存文件的内容。

在app中,页面控件通常设置在显示页面中的固定位置,用于显示页面元素中加载的缓存文件内容。在没有进行热更新操作时,不需要进行页面刷新,页面控件中放置创建的第一页面元素,用于显示终端本地保存的第一缓存文件中的内容,第一缓存文件的内容可以为下载app时对应的程序文件中的内容,也可以是上一次热更新后从服务器中下载的缓存文件。

可选地,第一页面元素在创建时,其大小可以设置为与页面控件的大小相同,使第一页面元素在放置到页面控件时,可以占满整个页面控件,达到更好的显示效果。

s303,接收服务器发送的第二缓存文件。

一个app在发布后可能存在测试时未发现的bug,这些bug可能不会影响app的主要功能的使用,但是可能会影响用户的使用体验,因此app开发者常通过热更新的方式,在app打开并连接到网络后,通过动态下发代码,使开发者在不发布新版本的情况下修复bug,避免开发者长时间的版本审核等待,也避免了用户需要频繁的进行版本更新。

因此,在进行页面刷新之前,首先应当接收开发者通过服务器下发的热更新代码,即第二缓存文件,在完成热更新操作之后,再进行页面刷新操作。

s304,在页面刷新时,创建第二页面元素。

s305,将第二页面元素放置到页面控件中,并加载第二缓存文件的内容。

在热更新完成之后,需要进行页面刷新操作,为了避免页面刷新时出现白屏,在页面刷新时,先创建第二页面元素,以加载热更新时下发的第二缓存文件,并基于页面控件的层级覆盖属性,即只能显示最上层的页面元素的内容,将第二页面元素放置页面控件中,此时页面控件中显示第二页面元素中加载的第二缓存文件的内容,完成页面刷新过程。

优选地,第二页面元素在放置到页面控件中时,应当占满页面控件,以保证页面控件只显示第二页面元素中加载的第二缓存文件内容,因此,也可在创建第二页面元素时,将第二页面元素的大小设置成与页面控件的大小相同。若第二页面元素没有占满整个页面控件,则第一页面元素可能有部分内容没有被覆盖,则可能会造成虽然第二页面元素可以正常显示,但同时显示第一页面元素中的未被覆盖的内容,进而影响用户的使用。

本实施例通过设置页面控件以显示第一页面元素,并在第一页面元素中加载第一缓存文件,在热更新产生后,创建第二页面元素并在页面控件中显示第二页面元素,基于页面控件的层级覆盖属性,页面控件中只能显示第二页面元素中加载的第二缓存文件。将第二页面元素放置到页面控件中进行显示只是一瞬间的操作,因此,本发明的页面刷新方法可以达到瞬间刷新的效果,使用户无从感知,也不会出现白屏状态。

进一步地,由于第二页面元素中的内容是瞬间显示在页面控件中的,在其后台创建和加载的过程中,用户是无法感知的,在后台的操作也不会影响用户当前的使用功能,也就不会存在页面刷新时产生误操作或数据交互进而使程序崩溃的问题,进而增强了app的健壮性。

本发明的第四实施例提供了一种页面刷新装置,其结构示意图如图4所示,主要包括:第一创建模块10,用于创建页面控件;加载模块20,与第一创建模块10耦合,用于将第一页面元素放置到页面控件中,并加载第一缓存文件的内容;第二创建模块30,与加载模块20耦合,用于在页面刷新时,创建第二页面元素;加载模块20,还用于将第二页面元素放置到页面控件中,并加载第二缓存文件的内容;其中,第一缓存文件为终端本地保存的缓存文件,第二缓存文件为服务器发送给终端的缓存文件。

在app中,第一创建模块10创建的页面控件通常设置在显示页面中的固定位置,用于显示页面元素中加载的缓存文件内容。在没有进行热更新操作时,不需要进行页面刷新,加载模块20将创建的第一页面元素放置与页面控件中,用于显示终端本地保存的第一缓存文件中的内容,第一缓存文件的内容可以为下载app时对应的程序文件中的内容,也可以是上一次热更新后从服务器中下载的缓存文件。

可选地,第一页面元素在创建时,其大小可以设置为与页面控件的大小相同,使第一页面元素在放置到页面控件时,可以占满整个页面控件,达到更好的显示效果。

在热更新完成之后,需要进行页面刷新操作,为了避免页面刷新时出现白屏,在页面刷新时,首先由第二创建模块30创建第二页面元素,以加载热更新时由服务器下发的第二缓存文件。具体地,在通过加载模块20将第二页面元素放置至页面控件中时,应将其覆盖在原有的第一页面元素之上,以保证第二页面元素在第一页面元素的上层,并在第二页面元素中加载第二缓存文件。在实际显示时,基于页面控件的层级覆盖属性,即只能显示最上层的页面元素的内容,此时页面控件中显示第二页面元素中加载的第二缓存文件的内容,完成页面刷新过程。

优选地,加载模块20将第二页面元素在放置到页面控件中时,应当占满页面控件,以保证页面控件只显示第二页面元素中加载的第二缓存文件内容,因此,也可在创建第二页面元素时,将第二页面元素的大小设置成与页面控件的大小相同。若第二页面元素没有占满整个页面控件,则第一页面元素可能有部分内容没有被覆盖,则可能会造成虽然第二页面元素可以正常显示,但同时显示第一页面元素中的未被覆盖的内容,进而影响用户的使用。

本实施例通过设置页面控件以显示第一页面元素,并在第一页面元素中加载第一缓存文件,在热更新产生后,创建第二页面元素并在页面控件中显示第二页面元素,基于页面控件的层级覆盖属性,页面控件中只能显示第二页面元素中加载的第二缓存文件。将第二页面元素放置到页面控件中进行显示只是一瞬间的操作,因此,本发明的页面刷新方法可以达到瞬间刷新的效果,使用户无从感知,也不会出现白屏状态。

进一步地,由于第二页面元素中的内容是瞬间显示在页面控件中的,在其后台创建和加载的过程中,用户是无法感知的,在后台的操作也不会影响用户当前的使用功能,也就不会存在页面刷新时产生误操作或数据交互进而使程序崩溃的问题,进而增强了app的健壮性。

本发明的第五实施例提供了一种页面刷新装置,其结构示意图如图5所示,主要包括:第一创建模块10,用于创建页面控件;加载模块20,与第一创建模块10耦合,用于将第一页面元素放置到页面控件中,并加载第一缓存文件的内容;第二创建模块30,与加载模块20耦合,用于在页面刷新时,创建第二页面元素;加载模块20,还用于将第二页面元素放置到页面控件中,并加载第二缓存文件的内容;接收模块40,与第一创建模块10耦合,用于接收服务器发送的第二缓存文件;其中,第一缓存文件为终端本地保存的缓存文件,第二缓存文件为服务器发送给终端的缓存文件。

一个app在发布后可能存在测试时未发现的bug,这些bug可能不会影响app的主要功能的使用,但是可能会影响用户的使用体验,因此app开发者常通过热更新的方式,在app打开并连接到网络后,通过动态下发代码,使开发者在不发布新版本的情况下修复bug,避免开发者长时间的版本审核等待,也避免了用户需要频繁的进行版本更新。

因此,在本发明第四实施例的基础上,进行页面刷新之前,首先应当通过接收模块40接收开发者通过服务器下发的热更新代码,即第二缓存文件,随后再进行页面刷新操作。

本发明第六实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤s11至s14:

s11,创建页面控件;

s12,将第一页面元素放置到页面控件中,并加载第一缓存文件的内容;

s13,在页面刷新时,创建第二页面元素;

s14,将第二页面元素放置到页面控件中,并加载第二缓存文件的内容;其中,第一缓存文件为终端本地保存的缓存文件,第二缓存文件为服务器发送给终端的缓存文件。

在本实施例中,存储介质可以安装在移动终端中。由于在第一实施例中已经对页面的刷新方法进行了详细说明,因此,在本实施例中不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

本发明的第七实施例提供了一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤s21至s24:

s21,创建页面控件;

s22,将第一页面元素放置到页面控件中,并加载第一缓存文件的内容;

s23,在页面刷新时,创建第二页面元素;

s24,将第二页面元素放置到页面控件中,并加载第二缓存文件的内容;其中,第一缓存文件为终端本地保存的缓存文件,第二缓存文件为服务器发送给终端的缓存文件。

在本实施例中,终端可以为用户使用的智能移动终端,在移动终端中可以安装各类应用程序。由于在第一实施例中已经对页面的刷新方法进行了详细说明,因此,在本实施例中不再赘述。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

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