CN117707662A - 界面显示方法及电子设备 - Google Patents

界面显示方法及电子设备 Download PDF

Info

Publication number
CN117707662A
CN117707662A CN202311071325.4A CN202311071325A CN117707662A CN 117707662 A CN117707662 A CN 117707662A CN 202311071325 A CN202311071325 A CN 202311071325A CN 117707662 A CN117707662 A CN 117707662A
Authority
CN
China
Prior art keywords
data
interface
view
template
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311071325.4A
Other languages
English (en)
Inventor
王国凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311071325.4A priority Critical patent/CN117707662A/zh
Publication of CN117707662A publication Critical patent/CN117707662A/zh
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种界面显示方法及电子设备,该方法应用于电子设备,电子设备包括第一应用程序,该方法包括:获取第一数据,第一数据包括与第一界面相关的文本数据,和/或图像数据,第一界面为第一应用程序的界面;确定是否存在第一视图模板,并加载镜像文件;若不存在第一视图模板,创建第一视图模板,第一视图模板为与第一界面相关的视图模板;运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据;根据第二数据,显示第一界面。从而,本申请通过提前加载镜像文件的方式,节省了加载镜像文件的时间,缩短了显示第一界面的时长,提升了用户的使用体验。

Description

界面显示方法及电子设备
技术领域
本申请涉及终端领域,具体涉及一种界面显示方法及电子设备。
背景技术
智能手表等电子设备中通常安装有即时通讯应用程序(application,APP),即时通讯应用程序可以通过即时通讯应用程序的软件开发工具包(software developmentkit,SDK),向用户提供登录、发送模板消息等功能。
目前,即时通讯应用程序对应有用于显示通讯录列表的界面、用于显示消息列表的界面,以及用于显示聊天对话内容的界面等多个界面;但是,目前即时通讯应用程序在显示前述任意一个界面时,需要按照预设顺序依次执行的步骤较多,花费的时间较长,用户体验不佳。
发明内容
本申请提供了一种界面显示方法及电子设备,尽可能缩短电子设备的界面显示时长,保证用户的使用体验。
第一方面,本申请提供一种界面显示方法,应用于电子设备,电子设备包括第一应用程序,该方法包括:
获取第一数据,第一数据包括与第一界面相关的文本数据,和/或图像数据,第一界面为第一应用程序的界面;
确定是否存在第一视图模板,并加载镜像文件;
若不存在第一视图模板,创建第一视图模板,第一视图模板为与第一界面相关的视图模板;
运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据;
根据第二数据,显示第一界面。
其中,第一应用程序可以为即时通讯应用程序。
上述方法中,获取与第一界面相关的第一数据后,电子设备确定是否存在第一视图模板,并在确定是否存在第一视图模板的过程中,加载镜像文件,也就是说,能够同时执行确定是否存在第一视图模板,以及加载镜像文件的步骤,如此,电子设备能够提前加载镜像文件,从而能够提前运行镜像文件,将第一数据填充到与第一界面相关的视图模板中,得到用于显示第一界面的第二数据,由此,节省了加载镜像文件的时间,缩短了显示第一界面的整个流程的时间,提高了显示第一界面的速度。
结合第一方面,在第一方面的某些实现方式中,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据,包括:
确定第一数据与第三数据之间是否存在差异,第三数据包括上一次获取的与第一界面相关的文本数据,和/或图像数据;
在第一数据与第三数据之间存在差异时,确定第一数据与第三数据之间的差异数据;
运行镜像文件,将差异数据填充到第一视图模板中,得到第二数据。
上述方法中,在当前次获取的与第一界面相关的第一数据与上一次获取的与第一界面相关的第三数据之间存在差异时,由于在上一次显示第一界面的过程中,已将上一次拉取的第一数据填充到与第一界面相关的视图模板中,在存在差异时,电子设备可以确定差异数据为新的数据,那么,电子设备仅需要运行镜像文件,将差异数据填充到第一视图模板中,就可以得到第二数据,而不需要将全部第一数据填充到与第一界面关联的视图模板中,减少了与视图模板关联的数据,节省了与视图模板关联的时间,进一步提高了即时通讯应用程序的界面显示的速度。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
在第一数据与第三数据之间不存在差异时,获取第四数据,第四数据为上一次运行镜像文件,将第三数据填充到第一视图模板中得到的数据;
更新第四数据为第二数据。
上述方法中,在当前次获取的与第一界面相关的第一数据与上一次获取的与第一界面相关的第三数据之间不存在差异时,电子设备可以直接读取上一次保存的数据,即第四数据,作为当前次的第二数据,而不需要再执行运行镜像文件,将获取到的与第一界面相关的第一数据填充到与第一界面相关的视图模板中的步骤,节省了将数据填充到视图模板的时间,提高了即时通讯应用程序的界面显示的速度。
结合第一方面,在第一方面的某些实现方式中,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据之后,该方法还包括:
保存第二数据。
上述方法中,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据之后,电子设备保存第二数据,可以便于下一次显示第一界面时,更快地根据当前次保存的第二数据显示第一界面。
结合第一方面,在第一方面的某些实现方式中,方法还包括:
若存在第一视图模板,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据。
上述方法中,若存在第一视图模板,电子设备可以直接运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据,节省了创建视图模板的时间,进一步提高了即时通讯应用程序的界面显示的速度。
结合第一方面,在第一方面的某些实现方式中,确定是否存在第一视图模板,包括:
确定是否存在视图数组模板,第一视图模板为视图数组模板中的一个视图模板;
若不存在第一视图模板,创建第一视图模板,包括:
若不存在视图数组模板,创建视图数组模板;
若存在第一视图模板,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据,包括:
若存在视图数组模板,运行镜像文件,将第一数据填充到视图数组模板中的第一视图模板中,得到第二数据。
上述方法中,确定是否存在视图数组模板,若不存在视图数组模板,则创建视图数组模板,由于视图数组模板包括与第一应用程序的多个界面对应的多个视图模板,那么,在第一次显示第一应用程序的界面时,可以创建视图数组模板,无需在显示第一应用程序的多个界面中每个界面时,均创建视图模板,节省了创建视图模板的时间,缩短了显示第一应用程序的任意一个界面的时间,提高了显示即时通讯应用程序的任意一个界面的速度。
结合第一方面,在第一方面的某些实现方式中,第一应用程序具有多个界面,视图数组模板包括多个视图模板,多个视图模板分别与多个界面一一对应,多个视图模板中其中一个视图模板为第一视图模板。
上述方法中,若第一应用程序包括三个界面,三个界面分别为通讯录列表显示界面、消息列表显示界面,以及聊天对话内容显示界面;视图模组模板包括三个视图模板,三个视图模板分别为与通讯录列表显示界面相关的视图模板、与消息列表显示界面相关的视图模板,以及与聊天对话内容显示界面相关的视图模板。
那么,在第一界面为通讯录列表显示界面时,第一视图模板为与通讯录列表显示界面相关的视图模板;在第一界面为消息列表显示界面时,第一视图模板为与消息列表显示界面相关的视图模板;在第一界面为聊天对话内容显示界面时,第一视图模板为与聊天对话内容显示界面相关的视图模板。
结合第一方面,在第一方面的某些实现方式中,获取第一数据,包括:
显示第二界面,第二界面包括第一应用程序的标识;
响应于对第二界面的第一操作,获取第一数据。
上述方法中,第二界面可以为电子设备的主界面,该主界面包括第一应用程序的标识,第一操作可以为对第一应用程序的标识的点击操作;换言之,可以根据启动第一应用程序的操作,获取第一数据。
结合第一方面,在第一方面的某些实现方式中,获取第一数据,包括:
显示第三界面,第三界面为第一应用程序的界面;
响应于对第三界面的第一操作,获取第一数据。
上述方法中,第三界面可以为第一应用程序的界面,第一操作可以为对第一应用程序的第三界面中的返回控件点击操作;换言之,可以根据切换第一应用程序的界面的操作,获取第一数据。
第二方面,本申请提供一种电子设备,电子设备包括第一应用程序、第一创建模块、引擎模块、第二创建模块和显示模块,包括:
第一应用程序用于获取第一数据,第一数据包括与第一界面相关的文本数据,和/或图像数据,第一界面为第一应用程序的界面;
第一应用程序还用于向第一创建模块发送第一数据;
第一创建模块用于在接收到第一数据时,确定是否存在第一视图模板,引擎模块响应于第一创建模块接收第一数据的事件,加载镜像文件,第一视图模板为与第一界面相关的视图模板;
第一创建模块还用于在不存在第一视图模板时,发起创建第一视图模板事件;
引擎模块还用于响应于发起创建第一视图模板事件,调用第二创建模块创建第一视图模板;
引擎模块还用于从第一创建模块读取第一数据,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据;
引擎模块还用于通过第一创建模块向显示模块发送第二数据;
显示模块用于在接收到第二数据时,根据第二数据,显示第一界面。
结合第二方面,在第二方面的某些实现方式中,引擎模块还用于执行以下步骤:
确定第一数据与第三数据之间是否存在差异,第三数据为上一次获取的与第一界面相关的文本数据,和/或图像数据;
在第一数据与第三数据之间存在差异时,确定第一数据与第三数据之间的差异数据;
运行镜像文件,将差异数据填充到第一视图模板中,得到第二数据。
结合第二方面,在第二方面的某些实现方式中,引擎模块还用于执行以下步骤:
在第一数据与第三数据之间不存在差异时,获取第四数据,第四数据为上一次运行镜像文件,将第三数据填充到第一视图模板中得到的数据;
更新第四数据为第二数据。
第三方面,本申请提供一种电子设备,包括一个或多个处理器,存储器以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面及第一方面任一种可能的实现方式中的界面显示方法。
第四方面,本申请提供一种芯片系统,该芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片系统的电子设备执行第一方面及第一方面任一种可能的实现方式中的界面显示方法。
第五方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面及第一方面任一种可能的实现方式中的界面显示方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面及第一方面任一种可能的实现方式中的界面显示方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请现有技术提供的一种界面显示方法的流程示意图;
图2为本申请一实施例提供的一种应用场景的示意图;
图3为本申请一实施例提供的一种电子设备的结构示意图;
图4为本申请一实施例提供的一种电子设备的软件架构示意图;
图5为本申请一实施例提供的一种界面显示方法的流程示意图;
图6为本申请一实施例提供的一种界面显示方法的流程示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,单独a,单独b或单独c中的至少一项(个),可以表示:单独a,单独b,单独c,组合a和b,组合a和c,组合b和c,或组合a、b和c,其中a,b,c可以是单个,也可以是多个。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
智能手表等电子设备中通常安装有即时通讯应用程序(application,APP)、健康管理应用程序、日历应用程序等应用程序。
其中,即时通讯应用程序对应有多个界面,例如,用于显示通讯录列表的界面、用于显示消息列表的界面,以及用于显示聊天对话内容的界面。
即时通讯应用程序的软件开发包(software development kit,SDK)提供了一系列开发工具、接口和文档,允许开发者在其应用程序中集成即时通讯应用程序的功能和服务。通过即时通讯应用程序的SDK,用户可以实现登录、发送模板消息等与即时通讯应用程序相关的操作。
如此,即时通讯应用程序可通过即时通讯应用程序的软件开发包显示上述多个界面。
其中,即时通讯应用程序的软件开发包通过JavaScript编写而成,代码比较长,例如,用于显示即时通讯应用程序的界面的JS文件对应的代码超过2000行。
其中,智能手表等电子设备的软件架构系统包括应用程序层和应用程序框架层。应用程序层可以包括即时通讯应用程序。应用程序框架层可以包括JavaScript应用程序框架子层和C++应用程序框架子层。JavaScript应用程序框架子层可以包括创建模块1。C++应用程序框架子层可以包括引擎模块、创建模块2和显示模块。
现阶段,在一种可能的实现方式中,如图1所示实施例中的S11-S24所示,界面显示方法包括如下步骤:
S11、即时通讯应用程序拉取与界面1相关的数据1(文本和/或图像数据)。
例如,在界面1为消息列表显示界面时,数据1可以包括多个用户中每个用户的名称、接收到的多个用户中每个用户通过其所属的电子设备发送的距离当前时刻最近的一条消息,以及接收到该最近的一条消息的时间。
S12、即时通讯应用程序将数据1发送到JavaScript应用程序框架子层的创建模块1。S13、创建模块1发起创建视图模板事件。
其中,创建视图模板事件所需要创建的模板为与界面1相关的视图模板。
例如,在界面1为消息列表显示界面时,创建视图模板事件所需要创建的模板为与消息列表显示界面相关的视图模板。
S14、C++应用程序框架子层的引擎模块响应于创建模块1发起创建视图模板事件,调用C++应用程序框架子层的创建模块2创建视图模板。
在创建模块1发起创建视图模板事件后,引擎模块能够响应于创建模块1发起创建视图模板事件,调用C++应用程序框架子层的创建模块2创建视图模板。
例如,在界面1为消息列表显示界面时,创建模块2创建的视图模板为与消息列表显示界面相关的视图模板。
S15、引擎模块通过JS文件代码加载镜像文件。
其中,镜像文件包括字节码数据,加载镜像文件可以为引擎模块读取并运行镜像文件中的字节码数据,将数据1填充到视图模板中做好数据准备。
S16、引擎模块从创建模块1读取数据1。
S17、引擎模块通过JS文件代码读取镜像文件中的字节码数据。
其中,字节码数据为指令数据,字节码数据用于将与界面1相关的数据1填充到与界面1相关的视图模板中。
S18、引擎模块通过JS文件代码运行字节码数据,将数据1填充到视图模板中,得到数据2。
可见,引擎模块需要通过JS文件代码加载镜像文件、通过JS文件代码读取镜像文件中的字节码数据,以及通过JS文件代码运行字节码数据,而JS文件代码较长,按照预设顺序依次加载镜像文件、读取镜像文件中的字节码数据,以及运行镜像文件中的字节码数据所花费的时间较长。
S19、引擎模块保存数据2。
S20、引擎模块向创建模块1发送数据2。
S21、引擎模块删除上一次获得的与界面2相关的数据2。
其中,引擎模块删除上一次获得的与界面2相关的数据2,在电子设备下一次需要显示界面2时,需要创建模块1重新创建与界面2相关的视图模板,引擎模块需要运行镜像文件中的字节码数据,将拉取的整个与界面2相关的数据1填充到与界面2相关的视图模板中。
S22、创建模块1向显示模块发送与界面1相关的数据2。
也就是说,引擎模块得到并保存数据2后,可以通过创建模块1向显示模块发送数据2,便于显示模块根据数据2来显示界面1。
S23、显示模块根据与界面1相关的数据2显示界面1。
基于上述描述可知,与界面1相关的数据2包括与界面1相关的数据1,以及与界面1相关的视图模板,且与界面1相关的数据1填充在与界面1相关的视图模板中,从而,显示模块可以根据与界面1相关的数据2显示界面1。
然而,上述的实现方式中,用于加载镜像文件、读取镜像文件中的字节码数据,以及运行镜像文件的JS文件代码文件较长,在一种可能的情况下,智能手表等电子设备的芯片、内存等规格较低,因此,加载镜像文件、读取镜像文件中的字节码数据,以及运行镜像文件的时间较长,导致加载前述待显示的界面1的时间较长,用户体验不佳。
面对上述问题,本申请可提供一种界面显示方法、电子设备、芯片系统、计算机可读存储介质以及计算机程序产品,可在拉取与界面1相关的数据1后,发起创建视图模板事件,并在创建视图模板的过程中,提前加载镜像文件,如此,在创建视图模板后,镜像文件已加载结束,可以直接读取镜像文件中的字节码数据,运行镜像文件中的字节码数据,将拉取的与界面1相关的数据填充到创建的视图模板中,得到数据2,并根据该数据2显示界面1;由此,能够节省加载镜像文件的时间、缩短显示界面的整个流程的时间,以及提高显示界面的速度,保证用户的使用体验。
其中,上述的界面显示方法应用于电子设备。电子设备可以为具有显示屏硬件以及相应软件支持的电子设备。
例如,电子设备可以为手机、平板电脑、车载设备、笔记本电脑、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、智能汽车、智能电视、机器人等设备。
需要指出的是,在一些可能的实现方式中,电子设备也可能称为终端设备、用户设备(user equipment,UE)等,本申请实施例对此不作限制。
请参阅图2,图2示出了本申请一实施例提供的一种应用场景的示意图。
如图2中的(a)所示,电子设备可显示界面11,界面11用于显示电子设备中安装的各种应用程序(application,APP)的图标。
其中,界面11中可以包括即时通讯应用程序的图标、日历应用程序的图标、时钟应用程序的图标和健康管理应用程序的图标。
用户点击即时通讯应用程序“聊天”的图标,电子设备可以显示如图2中的(b)所示的显示界面12,界面12用于显示即时通讯应用程序的消息列表。
其中,界面12中可以包括用户a的名称与用户a通过其所属电子设备发送到即时通讯应用程序的消息、用户b的名称与用户b通过其所属电子设备发送到即时通讯应用程序的消息、用户c的名称与用户c通过其所属电子设备发送到即时通讯应用程序的消息,以及用户d的名称与用户d通过其所属电子设备发送到即时通讯应用程序的消息。
用户点击其中一个消息,例如,用户点击用户a的消息,电子设备显示如图2中的(c)所示的显示界面13,界面13显示即时通讯应用程序中用户与用户a的聊天对话内容。
在接收到用户对界面11中的即时通讯应用程序的图标进行触发的操作后,电子设备可从显示界面11变为显示界面12。在接收到用户对界面12中的用户a的名称与用户a通过其所属电子设备发送到即时通讯应用程序的消息对应的区域进行触发的操作后,电子设备可从显示界面12变为显示界面13。
在接收到用户对界面13中的返回控件进行触发的操作后,电子设备可从显示界面13变为显示界面12。
基于上述描述,在电子设备从显示界面11变为显示界面12、从显示界面12变为显示界面13,或者从显示界面13变为显示界面12的过程中,可拉取与待显示的界面相关的数据1,发起创建模板事件,创建视图模板,并在创建视图模板的过程中,加载镜像文件,在创建视图模板后,可直接读取镜像文件中的字节码数据,并根据创建的视图模板和拉取的与待显示的界面相关的数据1,运行镜像文件中的字节码数据,得到与待显示的界面相关的数据2,并根据该数据2显示待显示的界面。
应理解,上述为对场景的举例说明,并不对本申请的场景作任何限定。
为了便于说明,图3中,以电子设备100为智能手表为例进行示意。
如图3所示,电子设备100可以包括处理器101、通信模块102、显示屏103、摄像头104、传感器105、内部存储器106、USB接口107、外部存储器接口108、充电管理模块109、电源管理模块110、和电池111等。
其中,处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器,图像信号处理器(imagesignal processor,ISP),控制器,存储器,视频流编解码器,数字信号处理器(digitalsignal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器101中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器101中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器101的等待时间,因而提高了系统的效率。
在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏103显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器101,与移动通信模块150或其他功能模块设置在同一个器件中。
通信模块102可以包括天线1和天线2,移动通信模块,和/或无线通信模块。
电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块的至少部分功能模块可以被设置于处理器101中。在一些实施例中,移动通信模块的至少部分功能模块可以与处理器101的至少部分模块被设置在同一个器件中。
无线通信模块可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
其中,显示屏103用于显示人机交互界面中的图像或视频等。显示屏103包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),MiniLED,MicroLED,Micro-OLED,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏103,N为大于1的正整数。
摄像头104用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头104,N为大于1的正整数。
充电管理模块109用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
在一些有线充电的实施例中,充电管理模块109可以通过USB接口107接收有线充电器的充电输入。
在一些无线充电的实施例中,充电管理模块109可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块109为电池111充电的同时,还可以通过电源管理模块110为电子设备100供电。
电源管理模块110用于连接电池111,充电管理模块109与处理器101。电源管理模块110接收电池111和/或充电管理模块109的输入,为处理器101,内部存储器106,外部存储器,和通信模块102等供电。电源管理模块110还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
在其他一些实施例中,电源管理模块110也可以设置于处理器101中。
在另一些实施例中,电源管理模块110和充电管理模块109也可以设置于同一个器件中。
外部存储器接口108可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口108与处理器101通信,实现数据存储功能。例如将音乐,视频流等文件保存在外部存储卡中。
内部存储器106可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器101通过运行存储在内部存储器106的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器106可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器106可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备100中的传感器105可以包括图像传感器、触摸传感器、压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、环境光传感器、指纹传感器、温度传感器、骨传导传感器等部件,以实现对于不同信号的感应和/或获取功能。
可选地,电子设备100还可以包括外设设备,例如鼠标、按键、指示灯、键盘、扬声器、麦克风等。
按键包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
指示器可以是指示灯,可以用于指示充电状态和电量变化,也可以用于指示消息、未接来电、和通知等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。
在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
请参考图4,为本申请实施例提供的一种电子设备的软件架构示意图。本申请实施例提供的界面显示方法应用于图3所示的电子设备100时,电子设备100中的软件可以划分为如图4所示的应用程序层201、应用程序框架层(framework,FWK)202、硬件抽象层(Hardware Abstraction Layer,HAL)203,以及驱动层204。
应用程序层201中可以安装有多个应用程序,例如,即时通讯应用程序。
即时通讯应用程序可以向用户提供即时消息传递、群聊、语音通话、视频通话、文件传输、支付功能等功能。
在本申请实施例中,即时通讯应用程序可以具有多个用户界面。
应用程序框架层(framework,FWK)202为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层202包括一些预先定义的函数。
应用程序框架层202包括JavaScript应用程序框架子层和C++应用程序框架子层。
其中,JavaScript应用程序框架子层包括创建模块1。C++应用程序框架子层包括引擎模块、创建模块2和显示模块。
其中,创建模块1用于发起创建视图模板事件;创建模块2用于创建视图模板。显示模块用于显示界面。引擎模块用于响应于创建模块1接收第一应用程序发送的数据,加载镜像文件,以及响应于创建模块1发起创建视图模板事件,调用创建模块2创建视图模板。
硬件抽象层203是一个位于操作系统内核与硬件电路之间的软件,通常用于将硬件抽象化,以实现操作系统与硬件电路在逻辑层的交互。在本申请实施例中,硬件抽象层203可以包括能够实现相机应用程序与图像传感器在逻辑层交互的相机硬件抽象层(camera Hardware Abstraction Layer,camera HAL)。
驱动层204中可以安装有多个用于驱动硬件工作的驱动(driver)。
需要说明的是,应用程序层201、应用程序框架层202、硬件抽象层203,以及驱动层204中也可以包括其他内容,在此不做具体限定。
基于上述场景描述,下面,本申请以电子设备为例,结合附图和应用场景,对本申请实施例提供的界面显示方法进行详细阐述。
请参阅图5,图5示出了本申请一实施例提供的界面显示方法的流程示意图。
如图5所示,本申请提供的界面显示方法可以包括:
S31、即时通讯应用程序拉取与界面1相关的数据1。
其中,电子设备中可包括有多种应用程序,例如,即时通讯应用程序、日历应用程序、时钟应用程序和健康管理应用程序等。
即时通讯应用程序可以向用户提供即时消息传递、群聊、语音通话、视频通话、文件传输、支付功能等功能,以方便用户通过即时通讯应用程序与其他用户进行实时沟通、信息分享和社交交流。
对于即时通讯应用程序而言,即时通讯应用程序对应有多个界面,例如,通讯录列表显示界面、消息列表显示界面,以及聊天对话内容显示界面。
其中,若电子设备需要显示即时通讯应用程序的一个界面,即时通讯应用程序需要先拉取与该一个界面相关的数据。
在一些实施例中,在电子设备需要显示界面1时,与界面1相关的数据可以包括文本数据,和/或图像数据。
其中,即时通讯应用程序可在多种情况下拉取与界面1相关的数据1。
在一些实施例中,在即时通讯应用程序启动时,此时,界面1为即时通讯应用程序的主界面,即时通讯应用程序需要拉取与即时通讯应用程序的主界面相关的数据1。
具体而言,电子设备具有一个主界面,该主界面用于显示电子设备中的多种应用程序的图标,在接收到用户对主界面中的即时通讯应用程序的图标进行触发的操作后,即时通讯应用程序需要显示即时通讯应用程序的主界面,即时通讯应用程序拉取与即时通讯应用程序的主界面相关的数据1。
举例说明,在界面1为消息列表显示界面时,数据1可以包括多个用户中每个用户的名称、接收到的多个用户中每个用户通过其所属的电子设备发送的距离当前时刻最近的一条消息,以及接收到该最近的一条消息的时间。
在另一些实施例中,在切换即时通讯应用程序对应的界面时,此时,界面1为即时通讯应用程序待切换的界面,即时通讯应用程序需要拉取与待切换的界面相关的数据1。
具体而言,电子设备可显示界面2,该界面2为显示即时通讯应用程序的聊天对话内容显示界面,界面2中包括返回控件,在接收到用户对界面2中的返回控件进行触发的操作后,即时通讯应用程序需要显示即时通讯应用程序待切换的界面,即时通讯应用程序拉取与即时通讯应用程序的待切换的界面相关的数据1。
结合前述例子,在界面1为消息列表显示界面时,数据1可以包括多个用户中每个用户的名称、接收到的多个用户中每个用户通过其所属的电子设备发送的距离当前时刻最近的一条消息,以及接收到该最近的一条消息的时间。
应理解,数据1为与界面1相关的数据;本申请对数据1的类型不做限定。
其中,根据是否存在接收到新的消息或者通讯录列表是否变化,即时通讯应用程序可以通过两种方式拉取与界面1相关的数据1。
在一些实施例中,若即时通讯应用程序未接收到新的消息,且通讯录列表没有变化,那么,即时通讯应用程序从电子设备的存储器中拉取与界面1相关的数据1。
在另一些实施例中,若即时通讯应用程序接收到了新的消息,和/或通讯录列表发生了变化,在这种情况下,界面1中需要显示的内容可以包括未更新的内容和更新的内容,与界面1相关的数据1可以包括数据11和数据12,其中,数据11包括未更新的内容对应的数据,数据12包括更新的内容对应的数据;即时通讯应用程序可以从电子设备的存储器中拉取与界面1相关的原始数据,即数据11;即时通讯应用程序可以从服务器中拉取与界面1相关的新的数据,即数据12;然后,即时通讯应用程序可以根据数据11和数据12得到数据1。
对即时通讯应用程序可以从服务器中拉取与界面1相关的新的数据,举例说明,若界面1为消息列表显示界面,在用户1通过其所属的电子设备1中的即时通讯应用程序向用户2所属的电子设备2中的即时通讯应用程序发送聊天消息数据时,电子设备1先向服务器发送聊天消息数据,服务器在接收到聊天消息数据后,向电子设备2发送通知,电子设备2接收到通知后,即时通讯应用程序再从服务器中拉取聊天消息数据,得到与消息列表显示界面相关的新的数据。
S32、即时通讯应用程序向创建模块1发送数据1。
其中,JavaScript应用程序框架子层可以包括创建模块1,创建模块1用于发起创建与即时通讯应用程序对应的界面相关的视图模板的事件。
基于S31,在接收到与界面1相关的数据1后,即时通讯应用程序向创建模块1发送数据1,便于创建模块1根据数据1来执行下一步操作。
S33、引擎模块响应于创建模块1接收数据1,加载镜像文件。
其中,C++应用程序框架子层可以包括引擎模块和创建模块2,引擎模块用于读取与处理创建模块1接收到的数据、调用C++应用程序框架子层中的创建模块2执行操作,以及加载和运行镜像文件。创建模块2用于创建与即时通讯应用程序对应的界面相关的视图模板。
在电子设备每次开机或者重启,电子设备中的系统文件启动,在电子设备中的系统文件启动时,电子设备的系统文件可以通过C++应用程序框架子层的引擎模块提供的接口,创建能够解析和执行JavaScript应用程序框架子层的JavaScript代码的JavaScript环境,从而,引擎模块可以基于JavaScript环境,解析和执行JavaScript应用程序框架子层中的代码,而C++应用程序框架子层可以通过引擎模块提供的接口执行JavaScript应用程序框架子层中的代码对应的操作。
如此,通过引擎模块可以实现JavaScript应用程序框架子层的创建模块1与C++应用程序框架子层的创建模块2之间的交互。
因此,在JavaScript应用程序框架子层的创建模块1接收到数据1时,C++应用程序框架子层的引擎模块能够确定创建模块接收到了数据1,开启执行相关的下一步操作,如加载镜像文件。
镜像(snapshot)文件为从代码形式转换为二进制形式的文件,镜像文件可以包括字节码(bytecode)的描述信息和字节码数据。
基于上述描述,引擎模块加载镜像文件可为后续的步骤中引擎模块读取镜像文件中的字节码数据提前做好数据准备。
S34、创建模块1判断是否存在视图数组模板。
其中,视图数组模板是展示即时通讯应用程序对应的各个不同的界面的核心组件,通过视图数组模板可以确定界面中的各种元素的位置和布局,如按钮、文本框、图像等在界面中的位置和布局。
其中,视图数组(view array)模板可以包括多个视图(view)模板。
例如,视图数组模板包括3个视图模板,分别为view01、view02和view03。
view01为即时通讯应用程序对应的消息列表模板,view01用于展示即时通讯应用程序对应的消息列表界面中的各种元素的位置和布局。
其中,消息列表界面中的各种元素可以包括多个空白消息列表卡片,每个空白消息列表卡片用于显示即时通讯应用程序的通讯录中的多个用户中每个用户通过其电子设备发送过来的消息,以及每个用户的名称。
view02为即时通讯应用程序对应的通讯录列表模板,view02用于展示即时通讯应用程序对应的通讯录列表界面中的各种元素的位置和布局。
其中,通讯录列表界面中的各种元素可以包括多个空白名称列表卡片,每个空白名称列表卡片用于显示即时通讯应用程序的通讯录的多个用户每个用户的名称。
view03为即时通讯应用程序对应的聊天对话内容模板,view03用于展示即时通讯应用程序对应的聊天对话内容界面中的各种元素的位置和布局。
其中,聊天内容界面中的各种元素可以包括用户名称空白卡片、聊天对话内容空白卡片,以及回复控件,用户名称空白卡片用于显示用户的名称,聊天对话内容空白卡片用于显示具体的聊天对话消息,回复控件用于回复聊天对话消息。
应理解,在电子设备开机或者重启后,第一次显示即时通讯应用程序对应的界面时,电子设备中不存在视图数组模板,在电子设备已显示过即时通讯应用程序对应的界面后,电子设备中存在视图数组模板,因此,创建模块1需要判断是否存在视图数组模板。
具体而言,在电子设备开机或者重启后,在电子设备第一次显示过即时通讯应用程序对应的界面时,创建模块1第一次执行S34,创建模块1可以确定不存在视图数组模板,便于创建模块1在确定不存在视图数组模板时,发起创建视图数组模板事件。
同理,在第一次执行S34之后,创建模块1可以发起创建视图数组模板事件,通过C++应用程序框架子层中的创建模块2能够创建视图数组模板,由此,在第二次,以及第N次执行S34时,创建模块1可以确定存在视图数组模板,不发起创建视图数组模板事件。
在不存在视图数组模板时,创建模块1执行S35;在存在视图数组模板时,引擎模块执行S37。
其中,S33与S34可以同时执行。
在S33与S34同时执行时,创建模块1在判断是否存在视图数组模板的过程中,引擎模块加载镜像文件,或者,引擎模块在加载镜像文件的过程中,创建模块1判断是否存在视图数组模板。
S35、创建模块1发起创建视图数组模板事件。
创建模块1可以发起创建视图数组模板事件,便于由C++应用程序框架子层中的创建模块2创建视图数组模板,可以为后续引擎模块运行镜像文件中的字节码数据将数据1填充到视图数组模板中的视图模板中做好数据准备。
S36、引擎模块响应于创建模块1发起创建视图数组模板事件,调用创建模块2创建视图数组模板。
基于S33可知,引擎模块与JavaScript应用程序框架子层中的创建模块1,以及C++应用程序框架子层中的创建模块2关联,因此,创建模块1发起创建视图数组模板事件后,引擎模块能够接收到创建视图数组模板事件。
由此,引擎模块可查找创建视图数组模板的函数,由于创建视图数组模板的函数采用C++编程语言编写,属于C++应用程序框架子层,那么,引擎模块可以调用C++应用程序框架子层的创建视图数组模板的函数,使得创建模块2创建视图数组模板。
基于此,创建模块2创建视图数组模板,可以为后续引擎模块将数据1填充到视图数组模板中的视图模板中做好数据准备。
S37、引擎模块从创建模块1读取数据1。
基于S33可知,引擎模块与JavaScript应用程序框架子层中的创建模块1,以及C++应用程序框架子层中的创建模块2关联,因此,引擎模块能够从创建模块1将数据1调用到引擎模块,便于引擎模块对数据1进行下一步处理。
S38、引擎模块读取镜像文件中的字节码数据。
基于S33可知,镜像文件包括字节码(bytecode)的描述信息和字节码数据。
在一些实施例中,字节码数据是一种指令数据,引擎模块通过执行JS文件可以运行字节码数据,从而对数据1进行运算,将数据1填充到视图数组模板中与界面1相关的视图模板中。
基于此,引擎模块读取镜像文件中的字节码数据,可以为后续引擎模块通过运行字节码数据,将数据1填充到视图数组模板中的视图模板中做好数据准备。
S39、引擎模块扫描数据1,判断数据1与上一次拉取的与界面1相关的数据1是否存在差异。
其中,在数据1为即时通讯应用程序第i次拉取的与界面1相关的数据时,上一次拉取的与界面1相关的数据1为第i-1次拉取的与界面1相关的数据。
可以理解的是,数据1与上一次拉取的与界面1相关的数据存在差异,至少存在三种情况:
情况1、与界面1相关的数据1为电子设备开机或者重启后,第一次显示即时通讯应用程序的界面时,第一次拉取到的与即时通讯应用程序的界面1相关的数据,那么,由于上一次拉取的与的界面1相关的数据为空,使得当前拉取到的与界面1相关的数据1与上一次拉取到的与界面1相关的数据1之间存在差异。
情况2、即时通讯应用程序接收到了新的消息,使得当前拉取到的与界面1相关的数据1与上一次拉取的界面1相关的数据存在差异。
情况3、即时通讯应用程序中的通讯录列表发生了变化,即新增或者删除了通讯录联系人,使得当前拉取到的与界面1相关的数据1与上一次拉取到的与界面1相关的数据1之间存在差异。
举例说明,在界面1为即时通讯应用程序对应的消息列表界面时,若即时通讯应用程序接收到了新的消息(数据1包括新的消息),那么,待显示的消息列表界面与上一次显示的消息列表界面之间存在差异,即当前拉取到的与消息列表界面相关的数据1与上一次拉取到的与消息列表界面相关的数据1之间发生了变化,即存在差异。
在一个具体的实施例中,假设与上一次拉取到的与消息列表界面相关的数据1包括用户a、用户b、用户c和用户d分别所属的电子设备发送的消息,当前拉取到的与消息列表界面相关的数据1中包括用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息。
那么,引擎模块可以确定当前拉取到的与消息列表界面相关的数据1与上一次拉取到的与消息列表界面相关的数据1之间存在差异。
举例说明,在界面1为即时通讯应用程序对应的消息列表界面时,若即时通讯应用程序未接收到新的消息,那么,当前拉取到的与消息列表界面相关的数据1与上一次拉取到的与消息列表界面相关的数据1之间不存在差异。
在一个具体的实施例中,假设上一次拉取到的与消息列表界面相关的数据1包括用户a、用户b、用户c和用户d分别所属的电子设备发送的消息,当前拉取到的与消息列表界面相关的数据1中包括用户a、用户b、用户c和用户d分别所属的电子设备发送的消息。
那么,引擎模块可以确定当前拉取到的与消息列表界面相关的数据1与上一次拉取到的与消息列表界面相关的数据1之间不存在差异。
在存在差异时,引擎模块执行S40-S45;在不存在差异时,引擎模块执行S46-S48。
S40、引擎模块确定数据2。
其中,在当前拉取到的与界面1相关的数据1与上一次拉取到的与界面1相关的数据1之间存在差异时,数据2为当前拉取到的与界面1相关的数据1与上一次拉取到的与界面1相关的数据1之间的差异数据。
举例说明,在界面1为即时通讯应用程序对应的消息列表界面时,若上一次拉取到的与消息列表界面相关的数据1包括用户a、用户b、用户c和用户d分别所属的电子设备发送的消息,当前拉取到的与消息列表界面相关的数据1中包括用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息。
那么,引擎模块可以确定数据2为用户e所属的电子设备发送的消息。
S41、引擎模块运行字节码数据,将数据2填充到视图数组模板中与界面1相关的视图模板中,得到数据3。
基于S40,引擎模块可以得到数据2,由此,引擎模块可以运行字节码数据,将数据2和视图数组模板中与界面1对应的视图模板进行关联,即,将数据2填充到视图数组模板中与界面1相关的视图模板中,得到数据3。
在一些实施例中,当前次为即时通讯应用程序第一次拉取与界面1相关的数据,界面1对应的视图模板为空白视图模板,引擎模块可以将数据2与空白视图模板直接关联,即将数据2填充到空白视图模板中,得到数据3。
在另一些实施例中,当前次为即时通讯应用程序第N(N大于或等于2)次拉取与界面1相关的数据,界面1对应的视图模板已关联过数据,引擎模块可以将数据2与视图模板关联,引擎模块,即将数据2填充到已关联过数据的视图模板中,得到数据3。
举例说明,在当前流程为电子设备开机或重启后第一次启动即时通讯应用程序,且即时通讯应用程序启动后显示的界面为消息列表显示界面时,即时通讯应用程序拉取消息列表对应的数据01(用户a、用户b和用户c分别所属的电子设备发送的消息),创建模块1创建的视图数组模板包括消息列表显示界面对应的视图模板,引擎模块能够运行字节码数据将消息列表对应的数据01与视图数组模板中的消息列表模板关联,即将用户a、用户b和用户c分别所属的电子设备发送的消息与消息列表模板关联,关联后的数据为数据03,引擎模块保存消息列表显示界面对应的数据03。
结合上述例子,在电子设备显示消息列表显示界面的过程中,电子设备接收到了用户d所属的电子设备发送的消息,用户执行切换界面操作,接收到用户指示的切换界面操作后,电子设备显示通讯录列表显示界面。
在电子设备显示通讯录列表显示界面的过程中,用户执行切换界面操作,接收到用户指示的切换界面操作后,电子设备启动从显示通讯录列表显示界面变为显示消息列表显示界面,即时通讯应用程序拉取消息列表对应的数据001(用户a、用户b、用户c和用户d分别所属的电子设备发送的消息),由于此前已保存消息列表显示界面对应的数据03,那么,电子设备再次运行字节码数据,将数据02(用户d所属的电子设备发送的消息)与消息列表模板关联。
由于在上述例子中,电子设备在第一次显示通讯录列表显示界面的过程中,已将用户a、用户b和用户c分别所属的电子设备发送的消息与消息列表模板关联,那么,引擎模块将用户d所属的电子设备发送的消息与消息列表模板关联后,用户a、用户b、用户c和用户d分别所属的电子设备发送的消息与消息列表模板关联,关联后的数据为数据003。
S42、引擎模块保存数据3。
在获得数据3后,引擎模块将数据3进行保存,便于引擎模块将数据3向创建模块1发送,并且,还可便于引擎模块在下一次拉取到与界面1相关的数据1,并在得到新的数据2之后,根据新的数据2运行字节码数据时,直接将新的数据2填充到当前次已关联数据2的视图模板中,得到新的数据3。
在一些实施例中,在电子设备开机或者重启,使得电子设备中的系统文件启动时,引擎模块创建上下文数组(frame context array)模块,便于引擎模块在获得数据3时,由上下文数组模块来保存和管理数据3。
其中,上下文数组模块包括多个上下文模块,多个上下文模块中每个上下文模块用于管理不同界面对应的数据3。
并且,多个上下文模块与视图数组模板包括的多个视图模板一一对应。
假设视图数组模板包括3个视图模板,分别为view01、view02和view03,view01为即时通讯应用程序对应的消息列表模板,view02为即时通讯应用程序对应的通讯录列表模板,view03为即时通讯应用程序对应的聊天内容模板;数据031包括view01,以及与view01关联的数据2;数据032包括view02,以及与view012关联的数据2;数据033包括view03,以及与view03关联的数据2。
那么,上下文数组模块包括3个上下文模块,分别为model01、model02和model03;model01用于保存和管理031;model02用于保存和管理数据032;model03用于保存和管理数据033。
另外,在接收到数据3后,显示模块不删除即时通讯应用程序上一次获得的与界面2相关的数据3,从而,便于引擎模块需要显示模块在下一次显示该界面2时,可以直接获取该与界面2相关的数据,通过创建模块1发送到显示模块,使得显示模块可以更加快速地显示界面2。
举例说明,在界面1为即时通讯应用程序的通讯录列表显示界面,界面2为消息列表显示界面时,若电子设备显示消息列表显示界面,在接收到用户对消息列表显示界面进行触发的操作后,即时通讯应用程序启动从显示消息列表显示界面变为显示通讯录列表显示界面,由此,即时通讯应用程序可拉取与待显示的通讯录列表显示界面相关的数据1,启动显示通讯录列表显示界面的流程,引擎模块保存与通讯录列表显示界面相关的数据3,并显示通讯录列表显示界面。
并且,引擎模块将与通讯录列表显示界面相关的数据3,通过创建模块1发送到显示模块,使得显示模块显示通讯录列表显示界面之前,显示模块不删除与原本显示与消息列表显示界面相关的数据3。
其中,与消息列表显示界面相关的数据3可以包括与消息列表显示界面对应的视图模板,与视图模板关联的用户a。
结合上述例子,在接收到用户对即时通讯应用程序的界面1进行触发的操作后,即时通讯应用程序可启动从显示通讯录列表显示界面变为消息列表显示界面,由此,即时通讯应用程序可拉取与待显示的即时通讯应用程序的消息列表显示界相关的数据1,启动显示消息列表显示界面的流程,显示模块未删除与消息列表显示界面相关的数据3,由此,引擎模块可以直接将用户e所属的电子设备发送的消息与消息列表显示界面对应的视图模板关联,由于在上一次显示消息列表显示界面的过程中,引擎模块已将用户a、用户b、用户c和用户d分别所属的电子设备发送的消息与视图模板关联,那么,在当前次将用户e所属的电子设备发送的消息与消息列表显示界面对应的视图模板关联后,得到的数据3为引擎模块将用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息与视图模板关联后得到的数据。
S43、引擎模块向创建模块1发送数据3。
引擎模块获得数据3后,需要由显示模块来显示数据3对应的界面1,因此,引擎模块可以先向创建模块1发送数据3,创建模块1接收到数据3后再向显示模块发送数据3。
S44、创建模块1向显示模块发送数据3。
基于S43,创建模块1可以接收到数据3,由此,创建模块1可继续向显示模块下传数据3,为显示模块根据数据3显示界面1做好数据准备。
S45、显示模块显示界面1。
其中,C++应用程序框架子层还可以包括显示模块,显示模块用于绘制和显示电子设备的界面。
基于此,显示模块在接收到数据3后,可以根据数据3显示界面1。
举例说明,界面1为消息列表显示界面,数据3中包括用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息,以及与消息列表显示界面相关的视图模板时,显示模块可以根据前述用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息,以及与用户a、用户b、用户c、用户d和用户e分别所属的电子设备发送的消息关联的视图模板显示界面1。
在一些实施例中,在接收到数据3后,显示模块可以对数据3中包括的数据进行绘制,即将数据3中包括的数据2绘制到数据3中的视图模板上,得到界面1,并对界面1进行显示。
S46、读取上一次运行镜像文件中的字节码数据得到的数据4。
其中,在当前次拉取到的与界面1相关的数据1与上一次拉取到的与界面1相关的数据1不存在差异时,引擎模块可以确定当前次显示界面1之前已显示过界面1,且上一次显示界面1的过程中拉取到的与界面1相关的数据1与当前次拉取到的与界面1相关的数据1相同,上一次显示界面1的过程中引擎模块已运行字节码数据将拉取的与界面1相关的数据1与界面1对应的视图模板关联,得到数据4。
S47、引擎模块向创建模块1发送数据4。
基于S46,引擎模块可获取数据4,引擎模块获得数据4后,可由显示模块来显示数据4对应的界面1,如此,引擎模块可以先向创建模块1发送数据4,创建模块1接收到数据4后再向显示模块发送数据4。
另外,在接收到数据4后,显示模块不删除即时通讯应用程序上一次获得的与界面2相关的数据4,从而,便于引擎模块需要显示模块在下一次显示该界面2时,可以直接获取该与界面2相关的数据,通过创建模块1发送到显示模块,使得显示模块可以更加快速地显示界面2。
S48、创建模块1向显示模块发送数据4。
基于S47,创建模块1能够接收到数据4,由此,创建模块1可继续向显示模块下传数据3,为显示模块根据数据4显示界面1做好数据准备。
S49、显示模块显示界面1。
基于S48,显示模块在接收到数据4后,可以根据数据4显示界面1。
本申请中,引擎模块提前加载镜像文件,即在创建模块1接收到数据1后,判断是否存在视图数组模板的过程中,引擎模块启动加载镜像文件,使得引擎模块能够提前加载镜像文件,如此,引擎模块能够提前读取并运行镜像文件中的字节码数据,将拉取到的数据与视图模板进行关联,得到用于显示与待显示的界面相关的数据3,由此,节省了引擎模块加载镜像文件的时间,缩短了显示界面1的整个流程的时间,提高了显示界面1的速度。
并且,在电子设备开机或重启后,在第一次显示即时通讯应用程序的界面时,创建模块1确定不存在创建视图模组模板,由此,创建模板1发起创建视图模板事件,由创建模块2来创建视图模组模板,创建模块2创建的视图模组模板中包括多个视图模板,多个视图模板与即时通讯应用程序的多个界面一一对应,如此,创建模块2无需在显示即时通讯应用程序的多个界面中每个界面时,均创建视图模板,节省了显示即时通讯应用程序的任意一个界面的时间,提高了显示即时通讯应用程序的任意一个界面的速度。
并且,引擎模块在得到数据3后,可以保存数据3,可以便于下一次显示界面1的过程中,在下一次读取的与界面1相关的数据1与当前次读取的与界面1相关的数据1之间不存在差异时,引擎模块可以直接读取当前次保存的数据3,作为引擎模块下一次得到的与界面1相关的数据3,而不需要再执行将拉取到的与界面1相关的数据1和与界面1相关的视图模板进行关联的步骤,节省了将数据与视图模板关联的时间,提高了即时通讯应用程序的界面显示的速度。
基于此,由于当前次保存的数据3中,引擎模块已将当前次拉取到的与界面1相关的数据1和与界面1相关的视图模板进行关联,在下一次读取的与界面1相关的数据1与当前次读取的与界面1相关的数据1之间存在差异时,引擎模块仅需要将差异数据对应的数据2再次和与界面1相关的视图模板进行关联,就可以得到与界面1相关的数据3,而不需要将整个数据1与视图模板关联,减少了与视图模板关联的数据,节省了将数据与视图模板关联的时间,进一步提高了即时通讯应用程序的界面显示的速度。
基于前述描述,在显示界面1之前,显示模块不删除显示界面1之前显示的界面2相关的数据3,可以便于下一次显示界面2的过程中,在下一次读取的与界面2相关的数据1与当前次读取的与界面2相关的数据1之间不存在差异时,引擎模块可以直接读取当前次未删除的与界面2相关的数据3,作为引擎模块下一次得到的与界面2相关的数据3,而不需要再执行将拉取到的与界面2相关的数据1和与界面2相关的视图模板进行关联的步骤,节省了将数据与视图模板关联的时间,提高了即时通讯应用程序的界面显示的速度。
基于此,由于当前次未删除的与界面2相关的数据3中,引擎模块已将当前次拉取到的与界面2相关的数据1和与界面2相关的视图模板进行关联,在下一次读取的与界面2相关的数据1与当前次读取的与界面2相关的数据1之间存在差异时,引擎模块仅需要将差异数据对应的数据2再次和与界面2相关的视图模板进行关联,就可以得到与界面2相关的数据3,而不需要将整个数据1与视图模板关联,减少了与视图模板关联的数据,节省了将数据与视图模板关联的时间,进一步提高了即时通讯应用程序的界面显示的速度。
基于前述的一些实施例,下面介绍本申请提供的界面显示方法。
示例性地,本申请提供一种界面显示方法。
为了便于说明,本申请的界面显示方法可由图2中的电子设备来执行,电子设备包括第一应用程序。
在一些实施例中,第一应用程序为即时通讯应用程序。
请参阅图6,图6示出了本申请一实施例提供的界面显示方法的流程示意图。
如图6所示,本申请提供的界面显示方法可以包括:
S301、获取第一数据,第一数据包括与第一界面相关的文本数据,和/或图像数据,第一界面为第一应用程序的界面。
其中,第一数据的具体实现方式可参见图5中的与界面1相关的数据1的相关描述,此处不做赘述。
第一界面的具体实现方式可参见图4中的界面12或者界面13的相关描述,以及图5中的界面1的相关描述,此处不做赘述。
S301的具体实现方式可参见图5中的S31的相关描述,此处不做赘述。
S302、确定是否存在第一视图模板,并加载镜像文件。
其中,第一视图模板的具体实现方式可参见图5中的视图数组模板中的视图模板的相关描述,此处不做赘述。
S302的具体实现方式可参见图5中的S34和S33的相关描述,此处不做赘述。
S303、若不存在第一视图模板,创建第一视图模板,第一视图模板为与第一界面相关的视图模板。
其中,S303的具体实现方式可参见图5中的S35和S36的相关描述,此处不做赘述。
S304、运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据。
其中,镜像文件的具体实现方式可参见图5中的镜像文件的相关描述,此处不做赘述。
S304的具体实现方式可参见图5中的S38-S41的相关描述,此处不做赘述。
S305、根据第二数据,显示第一界面。
其中,第二数据的具体实现方式可参见图5中的与界面1相关的数据3,或者与界面1相关的数据4的相关描述,此处不做赘述。
S305的具体实现方式可参见图5中的S43-S45的相关描述,以及S46-S48的相关描述,此处不做赘述。
本申请的界面显示方法,获取与第一界面相关的第一数据后,电子设备确定是否存在第一视图模板,并在确定是否存在第一视图模板的过程中,提前加载镜像文件,也就是说,电子设备能够同时执行确定是否存在第一视图模板,以及加载镜像文件,如此,电子设备能够提前运行镜像文件,将第一数据填充到与第一界面相关的视图模板中,得到用于显示第一界面的第二数据,由此,节省了加载镜像文件的时间,缩短了显示第一界面的整个流程的时间,提高了显示第一界面的速度。
在一些实施例中,本申请的界面显示方法可以包括:
确定第一数据与第三数据之间是否存在差异,第三数据包括上一次获取的与第一界面相关的文本数据,和/或图像数据;
在第一数据与第三数据之间存在差异时,确定第一数据与第三数据之间的差异数据;
运行镜像文件,将差异数据填充到第一视图模板中,得到第二数据。
其中,第三数据的具体实现方式可参见图5中的上一次读取的与界面1相关的数据1的相关描述,此处不做赘述。
差异数据的具体实现方式可参见图5中的数据2的相关描述,此处不做赘述。
上述步骤的具体实现方式可参见图5中的S39-S44的相关描述,此处不做赘述。
本申请中,在当前次获取的与第一界面相关的第一数据与上一次获取的与第一界面相关的第三数据之间存在差异时,由于在电子设备上一次显示第一界面的过程中,电子设备已将上一次拉取的第一数据填充到与第一界面相关的视图模板中,在存在差异时,电子设备可以确定差异数据为新的数据,那么,电子设备仅需要运行镜像文件,将差异数据填充到第一视图模板中,就可以得到第二数据,而不需要将全部第一数据填充到与第一界面关联的视图模板中,减少了与视图模板关联的数据,节省了与视图模板关联的时间,进一步提高了即时通讯应用程序的界面显示的速度。
在一些实施例中,本申请的界面显示方法可以包括:
在第一数据与第三数据之间不存在差异时,获取第四数据,第四数据为上一次运行镜像文件,将第三数据填充到第一视图模板中得到的数据;
更新第四数据为第二数据。
其中,第四数据的具体实现方式可参见图5中的上一次得到的与界面1相关的数据4的相关描述,此处不做赘述。
上述步骤的具体实现方式可参见图5中的S46-S48的相关描述,此处不做赘述。
本申请中,在当前次获取的与第一界面相关的第一数据与上一次获取的与第一界面相关的第三数据之间不存在差异时,电子设备可以直接读取上一次保存的数据,即第四数据,作为当前次的第二数据,而不需要再执行运行镜像文件,将获取到的与第一界面相关的第一数据填充到与第一界面相关的视图模板中的步骤,节省了将数据填充到视图模板的时间,提高了即时通讯应用程序的界面显示的速度。
在一些实施例中,本申请的界面显示方法可以包括:
保存第二数据。
其中,上述步骤的具体实现方式可参见图5中的S42的相关描述,此处不做赘述。
本申请中,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据之后,电子设备保存第二数据,由此,在下一次读取的与第一界面相关的第一数据与当前次读取的与第一界面相关的第一数据之间不存在差异时,引擎模块可以直接读取当前次保存的第二数据,作为引擎模块下一次得到的与第一界面相关的第二数据,而不需要再执行将拉取到的与第一界面相关的第一数据填充到与第一界面相关的视图模板中的步骤,节省了将数据填充到视图模板的时间,提高了即时通讯应用程序的界面显示的速度。
基于此,由于当前次保存的第二数据中,引擎模块已将当前次拉取到的与第一界面相关的第一数据和与第一界面相关的视图模板进行关联,在下一次读取的与第一界面相关的第一数据与当前次读取的与第一界面相关的第一数据之间存在差异时,引擎模块仅需要将差异数据再次和与第一界面相关的视图模板进行关联,就可以得到与第一界面相关的第二数据,而不需要将整个第一数据填充到视图模板中,减少了填充到视图模板中的数据,节省了将数据填充到视图模板的时间,进一步提高了即时通讯应用程序的界面显示的速度。
在一些实施例中,本申请的界面显示方法可以包括:
若存在第一视图模板,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据。
上述步骤的具体实现方式可参见图5中的S34、S37-S48的相关描述,此处不做赘述。
本申请中,若存在第一视图模板,电子设备可以直接运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据,节省了创建视图模板的时间,进一步提高了即时通讯应用程序的界面显示的速度。
在一些实施例中,本申请的界面显示方法可以包括:
确定是否存在第一视图模板,包括:
确定是否存在视图数组模板,第一视图模板为视图数组模板中的一个视图模板;
若不存在第一视图模板,创建第一视图模板,包括:
若不存在视图数组模板,创建视图数组模板;
若存在第一视图模板,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据,包括:
若存在视图数组模板,运行镜像文件,将第一数据填充到视图数组模板中的第一视图模板中,得到第二数据。
本申请中,电子设备确定是否存在视图数组模板,若不存在视图数组模板,则创建视图数组模板,由于视图数组模板包括与第一应用程序的多个界面对应的多个视图模板,那么,电子设备在第一次显示第一应用程序的界面时,创建视图数组模板,电子设备无需在显示第一应用程序的多个界面中每个界面时,均创建视图模板,节省了显示第一应用程序的任意一个界面的时间,提高了显示即时通讯应用程序的任意一个界面的速度。
在一些实施例中,第一应用程序具有多个界面,视图数组模板包括多个视图模板,多个视图模板分别与多个界面一一对应,多个视图模板中其中一个视图模板为第一视图模板。
例如,第一应用程序具有三个界面,三个界面分别为通讯录列表显示界面、消息列表显示界面,以及聊天对话内容显示界面。
例如,视图数组模板包括三个视图模板,三个视图模板分别为与通讯录列表显示界面对应的视图模板、与消息列表显示界面对应的视图模板,以及与聊天对话内容显示界面对应的视图模板。
其中,在第一界面为通讯录列表显示界面时,第一视图模板为与通讯录列表显示界面对应的视图模板;在第一界面为消息列表显示界面时,第一视图模板为与消息列表显示界面对应的视图模板;在第一界面为聊天对话内容显示界面时,第一视图模板为聊天对话内容显示界面对应的视图模板。
在一些实施例中,本申请的界面显示方法可以包括:
显示第二界面,第二界面包括第一应用程序的标识;
响应于对第二界面的第一操作,获取第一数据。
其中,第二界面的具体实现方式可参见图2中的界面11相关描述,此处不做赘述。
例如,在第二界面为图2中的界面11时,第一操作为点击第一应用程序的图标“聊天”的操作,也就是启动第一应用程序的操作。
例如,在第二界面为图2中的界面11时,第一界面可以为图2中的界面12,也可以为图2中的界面13;若根据预设显示顺序,在接收到用户对第一应用程序的图标“聊天”的点击操作时,电子设备需要显示图2中的界面12,那么,第一界面为图2中的界面12;若根据预设显示顺序,在接收到用户对第一应用程序的图标“聊天”的点击操作时,电子设备需要显示图2中的界面13,那么,第一界面为图2中的界面13。
在一些实施例中,本申请的界面显示方法可以包括:
显示第三界面,第三界面为第一应用程序的界面;
响应于对第三界面的第一操作,获取第一数据。
其中,第三界面的具体实现方式可参见图2中的界面12或界面13的相关描述,此处不做赘述。
例如,在第三界面为图2中的界面12时,第一界面可以为图2中的界面13,在第三界面为图2中的界面13时,第一界面可以为图2中的界面12。若根据预设显示顺序,在接收到用户对图2中的界面12的用户a的消息的点击操作时,电子设备需要显示图2中的界面13,那么,第一界面为图2中的界面13;若根据预设显示顺序,在接收到用户对图2中的界面13的返回控件的点击操作时,电子设备需要显示图2中的界面12,那么,第一界面为图2中的界面12。
示例性地,本申请提供一种电子设备,电子设备包括第一应用程序、第一创建模块、引擎模块、第二创建模块和显示模块,其中:
第一应用程序用于获取第一数据,第一数据包括与第一界面相关的文本数据,和/或图像数据,第一界面为第一应用程序的界面;
第一应用程序还用于向第一创建模块发送第一数据;
第一创建模块用于在接收到第一数据时,确定是否存在第一视图模板,引擎模块响应于第一创建模块接收第一数据的事件,加载镜像文件,第一视图模板为与第一界面相关的视图模板;
第一创建模块还用于在不存在第一视图模板时,发起创建第一视图模板事件;
引擎模块还用于响应于发起创建第一视图模板事件,调用第二创建模块创建第一视图模板;
引擎模块还用于从第一创建模块读取第一数据,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据;
引擎模块还用于通过第一创建模块向显示模块发送第二数据;
显示模块用于在接收到第二数据时,根据第二数据,显示第一界面。
其中,上述第一应用程序、第一创建模块、引擎模块、第二创建模块和显示模块实现的功能具体可参见图5中的S31-S48的相关描述,此处不做赘述。
在一些实施例中,引擎模块还用于执行以下步骤:
确定第一数据与第三数据之间是否存在差异,第三数据为上一次获取的与第一界面相关的文本数据,和/或图像数据;
在第一数据与第三数据之间存在差异时,确定第一数据与第三数据之间的差异数据;
运行镜像文件,将差异数据填充到第一视图模板中,得到第二数据。
其中,上述引擎模块实现的功能具体可参见图5中的S39-S44的相关描述,此处不做赘述。
在一些实施例中,引擎模块还用于执行以下步骤:
在第一数据与第三数据之间不存在差异时,获取第四数据,第四数据为上一次运行镜像文件,将第三数据填充到第一视图模板中得到的数据;
更新第四数据为第二数据。
其中,上述引擎模块实现的功能具体可参见图5中的S46-S48的相关描述,此处不做赘述。
在一些实施例中,引擎模块还用于执行以下步骤:
保存第二数据。
其中,上述引擎模块实现的功能具体可参见图5中S42的相关描述,此处不做赘述。
在一些实施例中,引擎模块还用于执行以下步骤:
若存在第一视图模板,运行镜像文件,将第一数据填充到第一视图模板中,得到第二数据。
在一些实施例中,第一创建模块还用于执行以下步骤:
确定是否存在视图数组模板,第一视图模板为视图数组模板中的一个视图模板。
在一些实施例中,若不存在视图数组模板,第二创建模块还用于创建视图数组模板。
在一些实施例中,若存在视图数组模板,引擎模块还用于运行镜像文件,将第一数据填充到视图数组模板中的第一视图模板中,得到第二数据。
其中,上述第一创建模块、引擎模块和第二创建模块实现的功能具体可参见图5中的S34、S37-S48的相关描述,此处不做赘述。
在一些实施例中,显示模块还用于显示第二界面,第二界面包括第一应用程序的标识。
在一些实施例中,第一应用程序具体用于响应于对第二界面的第一操作,获取第一数据。
在一些实施例中,显示模块还用于显示第三界面,第三界面为第一应用程序的界面。
在一些实施例中,第一应用程序具体用于响应于对第三界面的第一操作,获取第一数据。
其中,上述第一应用程序和显示模块实现的功能具体可参见图5中的S31,以及图2中界面11、界面12和界面13的相关描述,此处不做赘述。
示例性地,本申请提供一种电子设备,包括一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行前文实施例中的界面显示方法。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述的界面显示方法,因此可以达到与上述实现方法相同的效果。
示例性地,本申请提供一种芯片系统,芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片系统的电子设备执行前文实施例中的界面显示方法。
示例性地,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有代码或指令,当代码或指令在电子设备上运行时,使得电子设备执行时实现前文实施例中的界面显示方法。
示例性地,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备实现前文实施例中的界面显示方法。
其中,本申请实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片系统均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的界面显示方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种界面显示方法,其特征在于,应用于电子设备,所述电子设备包括第一应用程序,所述方法包括:
获取第一数据,所述第一数据包括与第一界面相关的文本数据,和/或图像数据,所述第一界面为所述第一应用程序的界面;
确定是否存在第一视图模板,并加载镜像文件;
若不存在所述第一视图模板,创建所述第一视图模板,所述第一视图模板为与所述第一界面相关的视图模板;
运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据;
根据所述第二数据,显示所述第一界面。
2.根据权利要求1所述的方法,其特征在于,所述运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据,包括:
确定所述第一数据与第三数据之间是否存在差异,所述第三数据包括上一次获取的与所述第一界面相关的文本数据,和/或图像数据;
在所述第一数据与所述第三数据之间存在差异时,确定所述第一数据与所述第三数据之间的差异数据;
运行所述镜像文件,将所述差异数据填充到所述第一视图模板中,得到所述第二数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一数据与所述第三数据之间不存在差异时,获取第四数据,所述第四数据为上一次运行所述镜像文件,将所述第三数据填充到所述第一视图模板中得到的数据;
更新所述第四数据为所述第二数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据之后,所述方法还包括:
保存所述第二数据。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述方法还包括:
若存在所述第一视图模板,运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据。
6.根据权利要求5所述的方法,其特征在于,
所述确定是否存在第一视图模板,包括:
确定是否存在视图数组模板,所述第一视图模板为所述视图数组模板中的一个视图模板;
所述若不存在所述第一视图模板,创建所述第一视图模板,包括:
若不存在所述视图数组模板,创建所述视图数组模板;
若存在所述第一视图模板,运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据,包括:
若存在所述视图数组模板,运行所述镜像文件,将所述第一数据填充到所述视图数组模板中的所述第一视图模板中,得到第二数据。
7.根据权利要求6所述的方法,其特征在于,所述第一应用程序具有多个界面,所述视图数组模板包括多个视图模板,所述多个视图模板分别与所述多个界面一一对应,所述多个视图模板中其中一个视图模板为所述第一视图模板。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述获取第一数据,包括:
显示第二界面,所述第二界面包括第一应用程序的标识;
响应于对所述第二界面的第一操作,获取第一数据。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述获取第一数据,包括:
显示第三界面,所述第三界面为所述第一应用程序的界面;
响应于对所述第三界面的第一操作,获取第一数据。
10.一种电子设备,其特征在于,所述电子设备包括第一应用程序、第一创建模块、引擎模块、第二创建模块和显示模块,包括:
所述第一应用程序用于获取第一数据,所述第一数据包括与第一界面相关的文本数据,和/或图像数据,所述第一界面为所述第一应用程序的界面;
所述第一应用程序还用于向所述第一创建模块发送所述第一数据;
所述第一创建模块用于在接收到所述第一数据时,确定是否存在第一视图模板,所述引擎模块响应于所述第一创建模块接收所述第一数据的事件,加载镜像文件,所述第一视图模板为与所述第一界面相关的视图模板;
所述第一创建模块还用于在不存在所述第一视图模板时,发起创建第一视图模板事件;
所述引擎模块还用于响应于发起创建所述第一视图模板事件,调用所述第二创建模块创建所述第一视图模板;
所述引擎模块还用于从所述第一创建模块读取第一数据,运行所述镜像文件,将所述第一数据填充到所述第一视图模板中,得到第二数据;
所述引擎模块还用于通过所述第一创建模块向显示模块发送所述第二数据;
所述显示模块用于在接收到所述第二数据时,根据所述第二数据,显示第一界面。
11.根据权利要求10所述的电子设备,其特征在于,所述引擎模块还用于执行以下步骤:
确定所述第一数据与第三数据之间是否存在差异,所述第三数据为上一次获取的与所述第一界面相关的文本数据,和/或图像数据;
在所述第一数据与所述第三数据之间存在差异时,确定所述第一数据与所述第三数据之间的差异数据;
运行所述镜像文件,将所述差异数据填充到所述第一视图模板中,得到所述第二数据。
12.根据权利要求11所述的电子设备,其特征在于,所述引擎模块还用于执行以下步骤:
在所述第一数据与所述第三数据之间不存在差异时,获取第四数据,所述第四数据为上一次运行所述镜像文件,将所述第三数据填充到所述第一视图模板中得到的数据;
更新所述第四数据为所述第二数据。
13.一种电子设备,其特征在于,包括:
一个或多个处理器,存储器,以及一个或多个计算机程序;其中,所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至9中任一项所述的界面显示方法。
14.一种芯片系统,其特征在于,所述芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片系统的电子设备执行如权利要求1至9中任一项所述的界面显示方法。
15.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在终端设备上运行时,使得所述电子设备执行如权利要求1至9中任一项所述的界面显示方法。
CN202311071325.4A 2023-08-23 2023-08-23 界面显示方法及电子设备 Pending CN117707662A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311071325.4A CN117707662A (zh) 2023-08-23 2023-08-23 界面显示方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311071325.4A CN117707662A (zh) 2023-08-23 2023-08-23 界面显示方法及电子设备

Publications (1)

Publication Number Publication Date
CN117707662A true CN117707662A (zh) 2024-03-15

Family

ID=90159453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311071325.4A Pending CN117707662A (zh) 2023-08-23 2023-08-23 界面显示方法及电子设备

Country Status (1)

Country Link
CN (1) CN117707662A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337045A1 (en) * 2016-05-17 2017-11-23 Google Inc. Automatic graphical user interface generation from notification data
CN108399089A (zh) * 2018-01-25 2018-08-14 阿里巴巴集团控股有限公司 视图界面的显示方法及装置
CN112463272A (zh) * 2020-11-13 2021-03-09 广州市百果园网络科技有限公司 一种界面布局加载显示方法、系统、电子设备及存储介质
US11262888B1 (en) * 2020-05-20 2022-03-01 Amazon Technologies, Inc. Consistent context-dependent rendering of user interface data
CN114816405A (zh) * 2022-05-06 2022-07-29 金蝶软件(中国)有限公司 业务视图界面的展示方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337045A1 (en) * 2016-05-17 2017-11-23 Google Inc. Automatic graphical user interface generation from notification data
CN108399089A (zh) * 2018-01-25 2018-08-14 阿里巴巴集团控股有限公司 视图界面的显示方法及装置
US11262888B1 (en) * 2020-05-20 2022-03-01 Amazon Technologies, Inc. Consistent context-dependent rendering of user interface data
CN112463272A (zh) * 2020-11-13 2021-03-09 广州市百果园网络科技有限公司 一种界面布局加载显示方法、系统、电子设备及存储介质
CN114816405A (zh) * 2022-05-06 2022-07-29 金蝶软件(中国)有限公司 业务视图界面的展示方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US11722449B2 (en) Notification message preview method and electronic device
US20220358089A1 (en) Learning-Based Keyword Search Method and Electronic Device
CN113805797B (zh) 网络资源的处理方法、电子设备及计算机可读存储介质
WO2022078295A1 (zh) 一种设备推荐方法及电子设备
CN113254409A (zh) 文件共享方法、系统及相关设备
CN115941674B (zh) 多设备应用接续方法、设备及存储介质
CN112817610A (zh) cota包安装方法及相关装置
WO2023005711A1 (zh) 一种服务的推荐方法及电子设备
CN113760191B (zh) 数据读取方法、装置、存储介质和程序产品
CN117785340A (zh) 一种卡片分享的方法及装置
CN117784991A (zh) 最近任务列表的显示方法及电子设备
CN114339966A (zh) 用于数据传输的界面控制方法、装置、介质与电子设备
CN116527805A (zh) 卡片显示方法、电子设备及计算机可读存储介质
CN117707662A (zh) 界面显示方法及电子设备
CN115878500A (zh) 内存回收方法、装置、电子设备及可读存储介质
CN113835802A (zh) 设备交互方法、系统、设备及计算机可读存储介质
WO2024046062A1 (zh) 一种卡片跨设备交互方法及电子设备
CN114816169B (zh) 桌面图标的显示方法、设备及存储介质
CN113179362B (zh) 电子设备及其图像显示方法
US20240176480A1 (en) Screenshot method, electronic device, and storage medium
CN116048326B (zh) 一种消息显示方法及电子设备
CN117009023B (zh) 显示通知信息的方法及相关装置
CN111142648B (zh) 一种数据处理方法和智能终端
CN115712373A (zh) 界面显示方法及电子设备
CN117666886A (zh) 输入方法、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination