应用程序页面处理方法和装置与流程

文档序号:19925301发布日期:2020-02-14 16:50阅读:154来源:国知局
应用程序页面处理方法和装置与流程

本发明涉及计算机技术领域,特别是涉及一种应用程序页面处理方法和装置。



背景技术:

应用程序是为了得到某种结果而可以由计算机等具有信息处理能力的终端执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。目前,用户可以在终端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等,从而通过终端上安装的这些应用可以实现各种功能,如拍照功能、社交功能或者电子邮件管理功能等。

然而,目前用户需要先从网络下载应用程序安装包,在终端上将应用程序安装包解压缩,将解压缩出的各种文件放置到指定的安装目录下,在操作系统中注册该应用程序,并生成该应用程序的图标,后续用户就可以点击该图标启动该应用程序并使用。因此,目前应用程序的安装和使用都需要经过一系列耗时较长的步骤,非常繁琐,导致应用程序的使用效率比较低。



技术实现要素:

基于此,有必要针对目前使用应用程序的使用效率比较低的问题,提供一种应用程序页面处理方法和装置。

一种应用程序页面处理方法,所述方法包括:

通过子应用程序逻辑层单元并根据第一页面的逻辑代码,获得所述第一页面的初始页面数据并发送至与所述第一页面对应的第一子应用程序视图层单元;所述子应用程序逻辑层单元和所述第一子应用程序视图层单元在母应用程序所提供的环境中运行,所述母应用程序运行于操作系统上;

通过所述第一子应用程序视图层单元并根据所述第一页面的初始页面数据渲染所述第一页面,并向所述子应用程序逻辑层单元反馈初始渲染完成通知;

通过所述子应用程序逻辑层单元接收到所述初始渲染完成通知后,获取页面更新数据,将所述页面更新数据发送至所述第一子应用程序视图层单元;

通过所述第一子应用程序视图层单元并根据所述页面更新数据重渲染所述第一页面中更新的部分。

一种应用程序页面处理装置,所述装置包括:

子应用程序逻辑层单元,用于根据第一页面的逻辑代码,获得所述第一页面的初始页面数据并发送至与所述第一页面对应的第一子应用程序视图层单元;所述子应用程序逻辑层单元和所述第一子应用程序视图层单元在母应用程序所提供的环境中运行,所述母应用程序运行于操作系统上;

所述第一子应用程序视图层单元,用于根据所述第一页面的初始页面数据渲染所述第一页面,并向所述子应用程序逻辑层单元反馈初始渲染完成通知;所述第一子应用程序视图层单元在所述母应用程序所提供的环境中运行;

所述子应用程序逻辑层单元还用于接收到所述初始渲染完成通知后,获取页面更新数据,将所述页面更新数据发送至所述第一子应用程序视图层单元;

所述第一子应用程序视图层单元还用于根据所述页面更新数据重渲染所述第一页面中更新的部分。

上述应用程序页面处理方法和装置,操作系统上运行母应用程序,母应用程序为子应用程序逻辑层单元和第一子应用程序视图层单元提供运行的环境,通过子应用程序逻辑层单元获得初始页面数据,并通过第一子应用程序视图层单元实现了第一页面的渲染。这样母应用程序在运行时,便可以实现属于子应用程序的页面,节省了安装应用程序的时间消耗,提高了子应用程序的使用效率。而且第一页面发生变化时,仅需要渲染更新的部分,进一步提高了子应用程序的使用效率。再者,子应用程序逻辑层单元和第一子应用程序视图层单元将应用程序的视图层和逻辑层相分离,便于子应用程序的实现和维护。

附图说明

图1为一个实施例中应用程序页面处理方法的应用环境图;

图2为一个实施例中终端的内部结构示意图;

图3为一个实施例中应用程序页面处理方法的流程示意图;

图4为一个实施例中操作系统、母应用程序、子应用程序视图层单元和子应用程序逻辑层单元的关系示意图;

图5为一个实施例中启动子应用程序逻辑层单元以及第一子应用程序视图层单元的步骤的流程示意图;

图6为另一个实施例中应用程序页面处理方法的流程示意图;

图7为一个实施例中将第一页面切换至第二页面的步骤的流程示意图;

图8为一个实施例中子应用程序页面的生命周期示意图;

图9为一个实施例中应用程序页面处理装置的结构框图;

图10为另一个实施例中应用程序页面处理装置的结构框图;

图11为再另一个实施例中应用程序页面处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中应用程序页面处理方法的应用环境图。参照图1,该应用程序页面处理方法应用于应用程序页面处理系统。该应用程序页面处理系统包括终端110和服务器120。其中,服务器120上存储有与子应用程序标识对应的代码包。终端110上运行操作系统,操作系统上运行母应用程序,通过母应用程序获取与子应用程序标识对应的代码包,根据该代码包在母应用程序提供的环境中运行子应用程序逻辑层单元和第一子应用程序视图层单元。终端110具体可通过子应用程序逻辑层单元并根据第一页面的逻辑代码,获得第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元;通过第一子应用程序视图层单元并根据第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元反馈初始渲染完成通知;通过子应用程序逻辑层单元接收到初始渲染完成通知后,获取页面更新数据,将页面更新数据发送至第一子应用程序视图层单元;通过第一子应用程序视图层单元并根据页面更新数据重渲染第一页面中更新的部分。

图2为一个实施例中终端的内部结构示意图。参照图2,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还存储有一种应用程序页面处理装置,该应用程序页面处理装置用于实现一种应用程序页面处理方法。终端的处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的应用程序页面处理装置的运行提供环境。该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种应用程序页面处理方法。终端的网络接口用于与服务器进行网络通信,如下载与子应用程序标识对应的代码包。终端的显示屏可以是液晶显示屏或者电子墨水显示屏,终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。该终端可以是个人计算机或移动终端,移动终端如手机、平板电脑、个人数字助理或者穿戴式设备等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图2中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3为一个实施例中应用程序页面处理方法的流程示意图。本实施例主要以该方法应用于上述图1中的终端来举例说明。参照图3,该方法具体包括如下步骤:

s302,通过子应用程序逻辑层单元并根据第一页面的逻辑代码,获得第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元;子应用程序逻辑层单元和第一子应用程序视图层单元在母应用程序所提供的环境中运行,母应用程序运行于操作系统上。

其中,第一页面以及下述的第二页面均是子应用程序页面。第一页面的逻辑代码定义了第一页面的数据处理逻辑,如对第一页面中所触发事件的处理逻辑或者第一页面中非事件驱动的数据更新逻辑。第一页面的初始页面数据是第一页面预先定义的页面数据,是渲染第一页面所需的数据。

参照图4,终端上运行操作系统,并在操作系统上运行母应用程序。母应用程序为子应用程序的运行提供环境,创建用于实现子应用程序的子应用程序逻辑层单元和相应的子应用程序视图层单元。

操作系统(operatingsystem,简称os)是管理和控制终端硬件与软件资源的计算机程序,是直接运行在终端裸机上的最基本的系统软件,应用程序需要在操作系统的支持下运行。操作系统可以是视窗(windows)操作系统或linux操作系统或者macos(苹果桌面操作系统)等桌面操作系统,也可以是ios(苹果移动终端操作系统)或者安卓(android)操作系统等移动终端操作系统。

母应用程序是承载子应用程序的应用程序,为子应用程序的实现提供环境。母应用程序是原生应用程序。原生应用程序是可直接运行于操作系统的应用程序。母应用程序可以是社交应用程序、专门支持子应用程序的专用应用程序、文件管理应用程序、邮件应用程序或者游戏应用程序等。社交应用程序包括即时通信应用、sns(socialnetworkservice,社交网站)应用或者直播应用等。子应用程序则是可在母应用程序提供的环境中实现的应用程序。子应用程序具体可以是社交应用程序、文件管理应用程序、邮件应用程序或者游戏应用程序等。

子应用程序逻辑层单元和相应的子应用程序视图层单元用于实现子应用程序实例。一个子应用程序可由一个子应用程序逻辑层单元以及至少一个子应用程序视图层单元实现。子应用程序视图层单元和子应用程序页面可以是一一对应关系。第一子应用程序视图层单元是至少一个子应用程序视图层单元中的一个,与第一页面对应,用于组织第一页面的视图并渲染第一页面。

子应用程序视图层单元用于组织子应用程序的视图并渲染。子应用程序逻辑层单元用于处理子应用程序及相应的子应用程序页面的数据处理逻辑。单元具体可以是进程或者线程,子应用程序视图层单元如子应用程序视图层线程,子应用程序逻辑层单元如子应用程序逻辑层线程。子应用程序逻辑层单元可运行于虚拟机中。子应用程序视图层单元和子应用程序逻辑层单元可通过母应用程序原生单元中转通信,母应用程序原生单元是母应用程序与子应用程序通信的接口,母应用程序原生单元可以是母应用程序自身的线程或进程。

各子应用程序页面的逻辑代码,包括第一页面以及下述第二页面的逻辑代码,可由子应用程序逻辑层单元在启动时进行注册。第一页面可以是子应用程序的首页,从而子应用程序逻辑层单元可以在启动后直接获取该第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元。第一页面也可以是母应用程序指定的子应用程序页面,从而子应用程序逻辑层单元可以在母应用程序指定该第一页面后,获取该第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元。

s304,通过第一子应用程序视图层单元并根据第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元反馈初始渲染完成通知。

其中,初始渲染完成通知是表示根据第一页面的初始页面渲染第一页面的动作已完成的通知。初始页面数据可以是字符或者资源地址,终端具体可将字符绘制到第一页面中,还可以根据资源地址从本地或者网络获取资源,并将获取的资源绘制到第一页面中。

在一个实施例中,第一子应用程序视图层单元可在启动时预加载公共资源,从而在接收到第一页面的初始页面数据后,根据渲染第一页面所需的公共资源和第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元反馈初始渲染完成通知。其中,公共资源是指生成不同的子应用程序页面所共用的资源,如渲染引擎、公共的页面结构代码或者公共的样式数据。

s306,通过子应用程序逻辑层单元接收到初始渲染完成通知后,获取页面更新数据,将页面更新数据发送至第一子应用程序视图层单元。

其中,页面更新数据是用于将第一页面进行更新渲染的数据。终端可通过子应用程序逻辑层单元并根据第一页面的逻辑代码中定义的自动执行代码,自动生成页面更新数据。终端也可以通过子应用程序逻辑层单元在接收到第一子应用程序视图层单元发送的事件后,根据第一页面的逻辑代码对该事件进行响应以生成相应的页面更新数据。

s308,通过第一子应用程序视图层单元并根据页面更新数据重渲染第一页面中更新的部分。

其中,更新的部分是第一页面中需要变化的部分,可以是相较于根据初始页面数据渲染得到的第一页面变化的部分,也可以是相较于前一次渲染的第一页面变化的部分。具体地,终端可通过第一子应用程序视图层单元并基于根据初始页面数据渲染得到的第一页面进行重渲染,也可以基于前一次渲染的第一页面进行重渲染。

上述应用程序页面处理方法,操作系统上运行母应用程序,母应用程序为子应用程序逻辑层单元和第一子应用程序视图层单元提供运行的环境,通过子应用程序逻辑层单元获得初始页面数据,并通过第一子应用程序视图层单元实现了第一页面的渲染。这样母应用程序在运行时,便可以实现属于子应用程序的页面,节省了安装应用程序的时间消耗,提高了子应用程序的使用效率。而且第一页面发生变化时,仅需要渲染更新的部分,进一步提高了子应用程序的使用效率。再者,子应用程序逻辑层单元和第一子应用程序视图层单元将应用程序的视图层和逻辑层相分离,便于子应用程序的实现和维护。

在一个实施例中,步骤s302之前,该应用程序页面处理方法还包括启动子应用程序逻辑层单元以及第一子应用程序视图层单元的步骤。参照图5,该启动子应用程序逻辑层单元以及第一子应用程序视图层单元的步骤具体包括如下步骤:

s502,通过母应用程序获取子应用程序标识,获取与子应用程序标识对应的子应用程序全局配置代码,并根据子应用程序全局配置代码启动子应用程序逻辑层单元以及第一子应用程序视图层单元。

具体地,终端可通过母应用程序展示子应用程序列表,接收针对子应用程序列表中选项的选择指令,根据该选择指令确定子应用程序列表中选中的选项,从而获取该选中的选项对应的子应用程序标识。终端还可以通过母应用程序记录子应用程序使用记录,从而根据子应用程序使用记录获取最近使用的子应用程序所对应的子应用程序标识。

子应用程序全局配置代码可以包括子应用程序全局逻辑代码和子应用程序页面全局配置代码。其中,子应用程序全局逻辑代码用于启动子应用程序逻辑层单元,具体如描述子应用程序的启动、退出以及后台运行逻辑等子应用程序全局逻辑的代码。子应用程序页面全局配置代码用于启动子应用程序视图层单元,具体如描述各子应用程序页面的路径或者共用的公共组件等子应用程序页面全局特性的代码。

s504,通过子应用程序逻辑层单元在子应用程序逻辑层单元启动时注册第一页面的逻辑代码。

具体地,终端可在子应用程序逻辑层单元启动过程中,按照与子应用程序标识对应的子应用程序全局逻辑代码所记录的各子应用程序页面的逻辑代码的存储路径,获取各子应用程序页面的逻辑代码,对获取的各子应用程序页面的逻辑代码进行注册,使得该子应用程序逻辑层单元知晓各子应用程序页面的处理逻辑。

s506,通过第一子应用程序视图层单元在第一子应用程序视图层单元启动时初始化,并在初始化完成后向子应用程序逻辑层单元发送初始化完成通知。

其中,初始化用于使得第一子应用程序视图层单元做好渲染第一页面的准备工作。终端具体可通过第一子应用程序视图层单元预加载公共资源以进行初始化,并在预加载公共资源结束后完成初始化。

s508,通过子应用程序逻辑层单元接收到初始化完成通知后,执行步骤s302。

具体地,第一子应用程序视图层单元在完成初始化后,向子应用程序逻辑层单元发送初始化完成通知,并等待初始页面数据。子应用程序逻辑层单元则在启动后等待初始化完成通知,在接收到该初始化完成通知后获取第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元。

本实施例中,母应用程序可在获取到子应用程序标识后启动子应用程序逻辑层单元以及第一子应用程序视图层单元,子应用程序逻辑层单元在启动时完成第一页面的逻辑代码的注册,第一子应用程序视图层单元在启动时进行初始化,并在完成初始化后通过子应用程序逻辑层单元和第一子应用程序视图层单元间的有序交互实现了第一页面的渲染及重渲染,保证了第一页面能够成功渲染并更新。

如图6所示,在一个实施例中,一种应用程序页面处理方法,具体包括如下步骤s602至步骤s612。其中步骤s604包括于上述步骤s304,步骤s606至步骤s610包括于步骤s306。

s602,通过子应用程序逻辑层单元并根据第一页面的逻辑代码,获得第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元;子应用程序逻辑层单元和第一子应用程序视图层单元在母应用程序所提供的环境中运行,母应用程序运行于操作系统上。

s604,通过第一子应用程序视图层单元并根据由母应用程序提供的公共组件和第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元反馈初始渲染完成通知。

其中,公共组件是母应用程序所提供的可供不同的子应用程序共用的组件,具有视觉形态,是子应用程序页面的组成单元。公共组件可通过相应的公共组件标识唯一标识。不同的子应用程序共用公共组件,具体可以是同时或者在不同时刻调用相同的公共组件。公共组件还可由母应用程序和子应用程序所共用。

初始页面数据可以与公共组件相关或者不相关,比如对于用于显示列表的公共组件,相关的初始页面数据可以是初始列表数据。终端通过第一子应用程序视图层单元并根据公共组件和第一页面的初始页面数据渲染第一页面,具体可以是将页面初始数据渲染到相关的公共组件中,或者将初始页面数据与公共组件作为并列的页面元素进行排布并渲染。

具体地,终端可通过第一子应用程序视图层单元获取第一页面的子应用程序页面配置文件,从而根据子应用程序页面配置文件中配置的内容,从由母应用程序提供的公共组件库中获取公共组件。其中,子应用程序页面配置文件可从本地或者服务器获取。子应用程序页面配置文件是对子应用程序所呈现的页面进行配置的文件。子应用程序页面配置文件可以是源代码或者是将源代码编译后得到的代码。

在一个实施例中,终端可通过第一子应用程序视图层单元获取由母应用程序提供的公共组件以及与公共组件相应的组件样式数据,从而根据公共组件、组件样式数据和第一页面的初始页面数据渲染第一页面。组件样式数据可以包括相应公共组件在第一页面中的位置、尺寸、颜色、字体和字号等属性。组件样式数据可以是公共组件默认的样式数据,也可以记录在第一页面的样式文件中。

在一个实施例中,第一子应用程序视图层单元可在启动时预加载公共资源,获取第一页面的子应用程序页面配置文件,从而根据子应用程序页面配置文件从由母应用程序提供的公共组件库中获取公共组件,从而在接收到第一页面的初始页面数据后,根据渲染第一页面所需的公共资源、公共组件和第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元反馈初始渲染完成通知。

s606,通过子应用程序逻辑层单元接收初始渲染完成通知。

具体地,终端通过子应用程序逻辑层单元接收到第一子应用程序视图层单元发送的初始渲染完成通知后,获知第一子应用程序视图层单元已经根据初始页面数据完成了第一页面的首次渲染,此后便可基于首次渲染的第一页面进行重渲染。

s608,通过第一子应用程序视图层单元获取针对第一页面中公共组件所触发的公共组件绑定事件,并将公共组件绑定事件传递至子应用程序逻辑层单元。

其中,公共组件绑定事件是一种事件,该事件与公共组件具有绑定关系。公共组件绑定事件与相应公共组件的绑定关系,可定义在第一页面的子应用程序页面配置文件中。

具体地,终端可检测触摸点位置,并确定第一页面中覆盖该触摸点位置的公共组件,从而触发与该公共组件相应的公共组件绑定事件,并将该公共组件绑定事件传递至子应用程序逻辑层单元。在其它实施例中,触摸点位置可替换为光标位置。

s610,通过子应用程序逻辑层单元并根据第一页面的逻辑代码响应公共组件绑定事件,获得页面更新数据,将页面更新数据发送至第一子应用程序视图层单元。

具体地,终端可通过子应用程序逻辑层单元,并根据第一页面的逻辑代码调用由母应用程序提供的应用程序编程接口,响应公共组件绑定事件,获得页面更新数据。

在一个实施例中,终端可通过子应用程序逻辑层单元,并根据第一页面的逻辑代码调用由操作系统提供的应用程序编程接口,响应公共组件绑定事件,获得页面更新数据。

在一个实施例中,终端可通过子应用程序逻辑层单元并根据第一页面的逻辑代码,调用由母应用程序提供的应用程序编程接口,并通过由母应用程序提供的应用程序编程接口调用由操作系统提供的应用程序编程接口,响应公共组件绑定事件,获得页面更新数据。

s612,通过第一子应用程序视图层单元并根据页面更新数据重渲染第一页面中更新的部分。

本实施例中,通过步骤s604,母应用程序可以提供公共组件以供第一子应用程序视图层单元快速构建第一页面,进一步提高了子应用程序使用效率。而且,第一子应用程序视图层单元负责对第一页面进行初始渲染、重渲染以及公共组件绑定事件的感知,由子应用程序逻辑层单元对公共组件绑定事件进行逻辑处理,不仅因视图层与逻辑层分离而便于维护,而且因公共组件绑定事件与相应公共组件绑定而使得第一页面的交互逻辑实现更加容易,降低开发难度。

在一个实施例中,应用程序页面处理方法还包括将第一页面切换至第二页面的步骤。如图7所示,将第一页面切换至第二页面的步骤具体包括如下步骤:

s702,通过子应用程序逻辑层单元获取针对第一页面触发的页面切换事件,并确定与页面切换事件相匹配的第二页面。

具体地,子应用程序逻辑层单元可获取由第一子应用程序视图层单元、母应用程序或者操作系统发出的页面切换事件。第一子应用程序视图层单元可检测第一页面中触发的页面切换事件并发送至子应用程序逻辑层单元。终端可通过操作系统检测物理按键触发的针对第一页面的页面切换事件,将页面切换事件传递至母应用程序,再由母应用程序将页面切换事件传递至子应用程序逻辑层单元。其中,针对第一页面的页面切换事件,是指从第一页面切换到第二页面的事件。

进一步地,终端可通过子应用程序逻辑层单元,并根据第一页面的逻辑代码中对于页面切换事件的事件处理函数中定义的页面路径,确定与页面切换事件相匹配的第二页面。或者,终端可通过子应用程序逻辑层单元,并根据页面切换事件所携带的第二页面的页面路径,确定与页面切换事件相匹配的第二页面。

s704,通过子应用程序逻辑层单元获取第二页面的页面数据并发送至与第二页面对应的第二子应用程序视图层单元。

在一个实施例中,步骤s704包括:当页面切换事件为切换至新页面的事件时,通过子应用程序逻辑层单元并根据第一页面的逻辑代码获取第二页面的页面数据,将第二页面的页面数据加入页面栈,并将第二页面的页面数据发送至与第二页面对应的第二子应用程序视图层单元。

具体地,根据第一页面的逻辑代码获取的第二页面的页面数据可以是第二页面的初始页面数据。第二子应用程序视图层单元可由母应用程序在启动第一子应用程序视图层单元后启动,第二子应用程序视图层单元在启动时预加载公共资源。子应用程序逻辑层单元在确定第二页面后,将第二页面与第二子应用程序视图层单元对应起来,向第二子应用程序视图层单元。页面栈用于缓存可返回的子应用程序页面的页面数据。面栈中的页面数据为先进后出,后进先出。

在一个实施例中,步骤s704包括:当页面切换事件为切换至前一次所访问页面的事件时,通过子应用程序逻辑层单元从页面栈读取第二页面的页面数据,并将第二页面的页面数据发送至与第二页面对应的第二子应用程序视图层单元。本实施例中,利用页面栈暂存已访问的子应用程序页面,从而可以逐层返回各个已访问的子应用程序页面。

s706,通过第二子应用程序视图层单元并根据第二页面的页面数据渲染第二页面。

具体地,第二子应用程序视图层单元可在启动时预加载公共资源,从而在接收到第二页面的页面数据后,根据渲染第二页面所需的公共资源和第二页面的页面数据渲染第二页面。

在一个实施例中,终端可通过第二子应用程序视图层单元并根据由母应用程序提供的公共组件和第二页面的页面数据渲染第二页面。终端具体可通过第二子应用程序视图层单元获取第二页面的子应用程序页面配置文件,从而根据子应用程序页面配置文件中配置的内容,从由母应用程序提供的公共组件库中获取公共组件。

本实施例中,不同的子应用程序页面由不同的子应用程序视图层单元维护,通过统一的子应用程序逻辑层单元进行页面逻辑管理,方便子应用程序页面之间的路由,便于子应用程序的开发及维护。

在一个实施例中,该应用程序页面处理方法还包括:通过母应用程序触发第一页面的生命周期状态变化;通过子应用程序逻辑层单元监听到第一页面的生命周期状态变化时,执行第一页面的逻辑代码中与变化后的生命周期状态相应的生命周期函数所定义的动作。

具体地,终端可通过母应用程序触发子应用程序页面的生命周期状态变化;通过子应用程序逻辑层单元监听到子应用程序页面的生命周期状态变化时,执行子应用程序页面的逻辑代码中与变化后的生命周期状态相应的生命周期函数所定义的动作。子应用程序页面包括第一页面和第二页面。

其中,第一页面的生命周期状态如页面加载状态、页面显示状态、页面隐藏状态以及页面卸载状态等描述第一页面的生命周期的状态。母应用程序原生单元可触发第一页面的加载、显示、隐藏以及卸载,从而使得第一页面在页面加载状态、页面显示状态、页面隐藏状态以及页面卸载状态之间变化。

进一步地,第一页面的逻辑代码中可定义一个或多个生命周期状态所对应的生命周期函数,该生命周期函数可以定义相应的生命周期的状态触发时需要执行的动作。终端通过子应用程序逻辑层单元监听到第一页面的生命周期状态变化时,若第一页面的逻辑代码中与变化后的生命周期状态相应的生命周期函数定义了动作,则执行该动作;若第一页面的逻辑代码中与变化后的生命周期状态相应的生命周期函数未定义动作,则无动作。

本实施例中,母应用程序可以触发第一页面的生命周期状态的变化,通过子应用程序逻辑层单元则可以根据第一页面的生命周期状态的变化执行相应的预定义动作,便于子应用程序实现更为丰富的功能,使得子应用程序的应用范围更为广阔。

参照图8,下面用一个具体实施例说明上述应用程序页面处理方法的原理。母应用程序原生单元在获取到子应用程序标识后,启动与子应用程序标识对应的子应用程序逻辑层线程和第一子应用程序视图层线程。

子应用程序逻辑层线程在启动时通过启动生命周期函数,预加载子应用程序逻辑层线程所需的公共资源,注册各子应用程序页面的逻辑代码。第一子应用程序视图层线程启动时加载生成子应用程序页面所需的公共资源。

母应用程序原生单元在确定加载第一页面后通知子应用程序逻辑层线程和第一子应用程序视图层线程。子应用程序逻辑层线程向第一子应用程序视图层线程发送第一页面的初始页面数据,并执行页面加载生命周期函数所定义的动作以及页面显示生命周期函数所定义的动作。

第一子应用程序视图层线程在初始化后接收到第一页面的初始页面数据,根据第一页面的初始页面数据渲染第一页面,并在渲染完成后向子应用程序逻辑层线程发送初始渲染完成通知。

子应用程序逻辑层线程接收到初始渲染完成通知后,若接收到第一子应用程序视图层线程发送的事件,则根据该事件对应的事件处理函数生成第一页面的页面更新数据,并将页面更新数据发送至第一子应用程序视图层线程。第一子应用程序视图层线程根据页面更新数据重渲染第一页面中更新的部分。

此外,母应用程序原生单元还可以控制第一页面切换到第二页面,导致第一页面的生命周期状态变化为页面隐藏状态或者页面卸载状态,并通知第二子应用程序视图层线程加载第二页面。母应用程序原生单元还可以控制第二页面切换到第一页面,导致第一页面的生命周期状态变化为页面显示状态。子应用程序逻辑层线程可以在监听到第一页面的生命周期状态变化时,执行与变化后的生命周期状态相应的生命周期函数所定义的动作。

图9为一个实施例中应用程序页面处理装置900的结构框图。参照图9,应用程序页面处理装置900包括:子应用程序逻辑层单元901和第一子应用程序视图层单元902。

子应用程序逻辑层单元901,用于根据第一页面的逻辑代码,获得第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元902;子应用程序逻辑层单元901和第一子应用程序视图层单元902在母应用程序所提供的环境中运行,母应用程序运行于操作系统上。

第一子应用程序视图层单元902,用于根据第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元901反馈初始渲染完成通知;第一子应用程序视图层单元902在母应用程序所提供的环境中运行。

子应用程序逻辑层单元901还用于接收到初始渲染完成通知后,获取页面更新数据,将页面更新数据发送至第一子应用程序视图层单元902。

第一子应用程序视图层单元902还用于根据页面更新数据重渲染第一页面中更新的部分。

上述应用程序页面处理装置900,操作系统上运行母应用程序,母应用程序为子应用程序逻辑层单元和第一子应用程序视图层单元提供运行的环境,通过子应用程序逻辑层单元获得初始页面数据,并通过第一子应用程序视图层单元实现了第一页面的渲染。这样母应用程序在运行时,便可以实现属于子应用程序的页面,节省了安装应用程序的时间消耗,提高了子应用程序的使用效率。而且第一页面发生变化时,仅需要渲染更新的部分,进一步提高了子应用程序的使用效率。再者,子应用程序逻辑层单元和第一子应用程序视图层单元将应用程序的视图层和逻辑层相分离,便于子应用程序的实现和维护。

图10为另一个实施例中应用程序页面处理装置900的结构框图。参照图10,应用程序页面处理装置900包括子应用程序逻辑层单元901、第一子应用程序视图层单元902和母应用程序原生单元903。

母应用程序原生单元903,用于获取子应用程序标识,获取与子应用程序标识对应的子应用程序全局配置代码,并根据子应用程序全局配置代码启动子应用程序逻辑层单元901以及第一子应用程序视图层单元902。

子应用程序逻辑层单元901还用于在子应用程序逻辑层单元901启动时注册第一页面的逻辑代码。

第一子应用程序视图层单元902还用于在第一子应用程序视图层单元902启动时初始化,并在初始化完成后向子应用程序逻辑层单元901发送初始化完成通知。

子应用程序逻辑层单元901还用于接收到初始化完成通知后,通过子应用程序逻辑层单元901并根据第一页面的逻辑代码,获得第一页面的初始页面数据并发送至与第一页面对应的第一子应用程序视图层单元902。

本实施例中,母应用程序原生单元可在获取到子应用程序标识后启动子应用程序逻辑层单元以及第一子应用程序视图层单元,子应用程序逻辑层单元在启动时完成第一页面的逻辑代码的注册,第一子应用程序视图层单元在启动时进行初始化,并在完成初始化后通过子应用程序逻辑层单元和第一子应用程序视图层单元间的有序交互实现了第一页面的渲染及重渲染,保证了第一页面能够成功渲染并更新。

在一个实施例中,第一子应用程序视图层单元902还用于根据由母应用程序提供的公共组件和第一页面的初始页面数据渲染第一页面,并向子应用程序逻辑层单元901反馈初始渲染完成通知。

在一个实施例中,子应用程序逻辑层单元901还用于接收初始渲染完成通知。

第一子应用程序视图层单元902还用于获取针对第一页面中公共组件所触发的公共组件绑定事件,并将公共组件绑定事件传递至子应用程序逻辑层单元901。

子应用程序逻辑层单元901还用于根据第一页面的逻辑代码响应公共组件绑定事件,获得页面更新数据,将页面更新数据发送至第一子应用程序视图层单元902。

本实施例中,母应用程序可以提供公共组件以供第一子应用程序视图层单元快速构建第一页面,进一步提高了子应用程序使用效率。而且,第一子应用程序视图层单元负责对第一页面进行初始渲染、重渲染以及公共组件绑定事件的感知,由子应用程序逻辑层单元对公共组件绑定事件进行逻辑处理,不仅因视图层与逻辑层分离而便于维护,而且因公共组件绑定事件与相应公共组件绑定而使得第一页面的交互逻辑实现更加容易,降低开发难度。

图11为再一个实施例中应用程序页面处理装置900的结构框图。参照图11,应用程序页面处理装置900包括子应用程序逻辑层单元901、第一子应用程序视图层单元902和第二子应用程序视图层单元904。

子应用程序逻辑层单元901还用于获取针对第一页面触发的页面切换事件,并根据第一页面的逻辑代码确定与页面切换事件相匹配的第二页面。

子应用程序逻辑层单元901还用于获取第二页面的页面数据并发送至与第二页面对应的第二子应用程序视图层单元904。

第二子应用程序视图层单元904,用于根据第二页面的页面数据渲染第二页面。

本实施例中,不同的子应用程序页面由不同的子应用程序视图层单元维护,通过统一的子应用程序逻辑层单元进行页面逻辑管理,方便子应用程序页面之间的路由,便于子应用程序的开发及维护。

在一个实施例中,子应用程序逻辑层单元901还用于当页面切换事件为切换至新页面的事件时,通过子应用程序逻辑层单元901并根据第一页面的逻辑代码获取第二页面的页面数据,将第二页面的页面数据加入页面栈,并将第二页面的页面数据发送至与第二页面对应的第二子应用程序视图层单元904。

在一个实施例中,子应用程序逻辑层单元901还用于当页面切换事件为切换至前一次所访问页面的事件时,通过子应用程序逻辑层单元901从页面栈读取第二页面的页面数据,并将第二页面的页面数据发送至与第二页面对应的第二子应用程序视图层单元904。

本实施例中,利用页面栈暂存已访问的子应用程序页面,从而可以逐层返回各个已访问的子应用程序页面。

在一个实施例中,母应用程序原生单元903还用于触发第一页面的生命周期状态变化。

子应用程序逻辑层单元901还用于监听到第一页面的生命周期状态变化时,执行第一页面的逻辑代码中与变化后的生命周期状态相应的生命周期函数所定义的动作。

本实施例中,母应用程序可以触发第一页面的生命周期状态的变化,通过子应用程序逻辑层单元则可以根据第一页面的生命周期状态的变化执行相应的预定义动作,便于子应用程序实现更为丰富的功能,使得子应用程序的应用范围更为广阔。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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