应用程序加载方法、装置及用户终端与流程

文档序号:12886991阅读:140来源:国知局
应用程序加载方法、装置及用户终端与流程

本发明涉及互联网技术领域,具体而言,涉及一种互应用程序加载方法、装置及用户终端。



背景技术:

应用程序是为了满足使用者应用目的而编撰的软体。作为互联网中为用户提供服务的主体,应用程序的运行好坏将直接影响用户使用互联网服务的体验。随着应用程序能实现的功能越来越多样,提供的服务越来越智能,应用程序对应的代码也越来越庞杂,进而导致应用程序加载过程慢,容易出错且对存储空间占用量大、占用时间长。



技术实现要素:

本发明的目的在于提供一种应用程序加载方法,以改善上述问题。

本发明的另一个目的在于提供一种应用程序加载装置,以改善上述问题。

本发明的另一个目的在于提供一种用户终端。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提供一种应用程序加载方法,应用于用户终端,所述方法包括:响应功能启用指令,匹配对应的应用程序的独立功能组件,其中所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,所述功能组件包括独立功能组件;获得所述独立功能组件对应的可执行文件;加载所述独立功能组件对应的可执行文件。

本发明实施例还提供一种应用程序加载装置,应用于用户终端,所述装置包括:匹配模块,用于响应功能启用指令,匹配对应的应用程序的独立功能组件,其中所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,所述功能组件包括独立功能组件;获得模块,用于获得所述独立功能组件对应的可执行文件;第一加载模块,用于加载所述独立功能组件对应的可执行文件。

本发明实施例还提供一种用户终端,所述用户终端包括:存储器;处理器;以及应用程序加载装置,所述应用程序加载装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组,所述应用程序加载装置包括:匹配模块,用于响应功能启用指令,匹配对应的应用程序的独立功能组件,其中所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,所述功能组件包括独立功能组件;获得模块,用于获得所述独立功能组件对应的可执行文件;第一加载模块,用于加载所述独立功能组件对应的可执行文件。

与现有技术相比,本发明提供的一种应用程序加载方法、装置及用户终端。其中,应用程序加载方法,应用于用户终端,所述方法包括:响应功能启用指令,匹配对应的应用程序的独立功能组件,其中所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,所述功能组件包括独立功能组件;获得所述独立功能组件对应的可执行文件;加载所述独立功能组件对应的可执行文件。根据启用的功能加载对应可执行文件,使应用程序加载更加灵活,快速。且避免了应用程序一启动就占用大量存储空间。进而提高使用者的体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的用户终端的方框示意图。

图2示出了本发明实施例提供的应用程序加载方法流程图。

图3为本实施例中步骤s103的子步骤流程图。

图4为其他实施例中步骤s103的子步骤流程图。

图5示出了本发明实施例提供的应用程序加载装置的功能模块示意图。

图6为本实施例中匹配模块的功能子模块示意图。

图7为其他实施例中匹配模块的功能子模块示意图。

图标:100-用户终端;111-存储器;112-存储控制器;113-处理器;114-外设接口;115-显示单元;116-输入输出单元;200-应用程序加载装置;201-获得模块;202-匹配模块;2021-查询子模块;2022-获取子模块;2023-判断子模块;203-第一加载模块;204-获取模块;205-第二加载模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出本发明较佳实施例提供的用户终端100的方框示意图。用户终端100可以是,但不限于是移动终端设备、电脑,例如可以包括智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personaldigitalassistant,pda)、台式电脑等等。所述用户终端100包括应用程序加载装置200、存储器111、存储控制器112、处理器113、外设接口114、显示单元115及输入输出单元116。

所述存储器111、存储控制器112、处理器113、外设接口114、输入、显示单元115及输入输出单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述应用程序加载装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述用户终端100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器113用于执行所述存储器111中存储的可执行模块,例如所述应用程序加载装置200所包括的软件功能模块及计算机程序等。

其中,所述存储器111可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器111用于存储程序(包括操作系统程序),处理器113在接收到执行指令后,执行所述程序。所述处理器113以及其他可能的组件对存储器111的访问可在所述存储控制器112的控制下进行。

所述处理器113可能是一种集成电路芯片,具有对信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器113也可以是任何常规的处理器等。

所述外设接口114将各种输入/输出装置(例如显示单元115、输入输出单元116)耦合至所述处理器113以及所述存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

所述显示单元115在所述用户终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据。在本实施例中,所述显示单元115可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器113进行计算和处理。

所述输入输出单元116用于提供给用户输入数据实现用户与所述用户终端100的交互。所述输入输出单元116可以是,但不限于,虚拟键盘、语音输入电路等。

第一实施例

图2为本发明较佳实施例提供的一种应用程序加载方法的流程图。请参考图2,所述应用程序加载方法应用于用户终端100,所述方法包括以下步骤:

步骤s101,侦测到所述应用程序启动时,获取所述基础功能组件对应的可执行文件。

在本实施例中,应用程序被预先按照所实现功能的不同而打包成多个功能组件,并存放于用户终端100的存储器111中,可选地,可以是存放在asset目录下。其中,功能组件包括基础功能组件。需要说明的是,基础功能组件为实现应用程序基础功能的功能组件,即应用程序启动后必须加载执行的功能组件。例如,用于显示初始界面的功能组件。可执行文件为可由操作系统进行加载执行的文件。例如,安卓操作系统对应的可执行文件为dex格式的文件。基础功能组件对应的可执行文件可以通过解压应用程序中的功能组件以获得。可选地,应用程序的基础功能组件被用户终端100解压之后将存储于用户终端100,以便下次运行应用程序时直接获取,而无需再度解压基础功能组件。例如,将asset目录下基础工作组件解压到应用程序目录下,在下次需要获取基础文件对应的可执行文件时,则直接从应用程序目录中已解压的基础功能组件中直接获取。

步骤s102,将所述基础功能组件对应的可执行文件加载入所述用户终端100的存储器111内。

在本实施例中,将获得的基础功能组件对应的可执行文件加载入存储器111中的临时存储器中。并将基础功能组件对应的组件内容加载入临时存储器中,执行基础功能组件对应的基础功能。以实现应用程序的运行。

步骤s103,响应功能启用指令,匹配对应的应用程序的独立功能组件。

在本实施例中,所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,功能组件还包括多个独立功能组件。应用程序在运行后,可以通过加载执行独立功能组件以实现所述独立功能组件对应的功能。独立功能组件在其对应的功能启用指令被触发时才进行加载执行。以减少不必要的存储空间占用。以淘宝客户端为例,淘宝客户端包括搜索商品功能、与卖家沟通功能、支付功能等功能。淘宝客户端需要实现上述任何一项功能时,均需要加载执行与该功能对应的独立功能组件,例如,要实现搜索商品功能则需通过加载执行搜索功能组件、要实现与卖家沟通功能则需通过加载执行聊天功能组件、要实现支付功能则需通过加载执行支付功能组件。使用任何一个独立功能组件需要先匹配到该独立功能组件。而匹配独立功能组件需与其对应的功能启动指令被触发,可选地,用户可以根据使用需要通过输入输出单元116触发启动功能指令。例如,当用户的使用需求为实现搜索商品功能时,通过输入输出单元116点击搜索框则搜索启动指令触发,用户终端100根据获得的搜索启动指令触发,匹配出搜索功能组件;当用户需与卖家沟通时,可以通过输入输出单元116接收到用户选择卖家的操作触沟通启动指令,用户终端100根据沟通启动指令匹配出聊天功能组件;当用户需支付时,可以通过输入输出单元116获取到指纹或密码等以触发支付启动指令,用户终端100根据获得的支付启动指令匹配出支付功能组件。用户终端100在获得功能启用指令后,根据获得的功能启动指令对应需要实现的第一功能,匹配对应的独立功能组件。请参考图3,步骤s103包括以下子步骤:

子步骤s10311,查询已解压的所述独立功能组件是否存在与第一功能相对应的可执行文件。

在本实施例中,独立功能组件包括对应的可执行文件。通过解压独立功能组件以获得其对应的可执行文件。加载执行独立功能组件包括加载执行对应的可执行文件。当应用程序中一个独立功能组件初次使用时,需从应用程序中获取对应的独立功能组件,并将其解压以获得对应的可执行文件并存储。因此,当用户终端100获得与第一功能对应的功能启用指令时,先在已解压的所述独立功能组件中查询否存在与第一功能相对应的可执行文件。以减少重复工作,占用多余的存储空间。当若不存在与所述第一功能相对应的可执行文件流程进入子步骤s10312;若存在与所述第一功能相对应的可执行文件,则流程进入子步骤s10313。

子步骤s10312,获取所述应用程序中与第一功能相对应的未解压的所述独立功能组件。

在本实施例中,根据存储应用程序的目录途径从存储器111中访问所述应用程序的程序文件。程序文件包括所有的独立功能组件及基础功能组件,且均未解压。从未解压的独立功能组件中获取对应执行第一功能的独立功能组件。

子步骤s10313,获取所述已解压的所述独立功能组件。

在其他实施例中,如图4所示,步骤s103还可以是包括以下子步骤:

子步骤s10321,查询已解压的所述独立功能组件是否存在与第一功能相对应的可执行文件。当存在与第一功能相对应的可执行文件则流程进入子步骤s10322;当不存在与第一功能相对应的可执行文件时,流程进入子步骤s10324。

子步骤s10322,判断与所述第一功能相对应的可执行文件是否有效。可选地,利用信息摘要算法计算与第一功能相对应的可执行文件的第一md5码,并将第一md5码与解压第一功能对应的独立功能组件时计算并存储的可执行文件的第二md5码进行比对,以检验已解压的独立功能组件是否在存储期间遭到了篡改。以避免运行被篡改的程序降低用户的体验。当与所述第一功能相对应的可执行文件有效则流程进入子步骤s10323;当与所述第一功能相对应的可执行文件无效则流程进入子步骤s10324。

子步骤s10323,获取所述已解压的所述独立功能组件。

子步骤s10324,获取所述应用程序中与第一功能相对应的未解压的所述独立功能组件。

步骤s104,获得所述独立功能组件对应的可执行文件。

在本实施例中,从在步骤s103获得的独立功能组件中获取可执行文件。用户终端100不能直接从未解压的独立功能组件中获取对应的可执行文件,但可以从已解压的独立功能组件中获得。可选地,当步骤s103获得的独立功能组件为未解压时,解压与第一功能相对应的未解压的所述独立功能组件以获得所述可执行文件;当骤s103获得的独立功能组件为已解压时,从所述已解压的所述独立功能组件中获得与第一功能相对应的可执行文件。需要说明的是,可执行文件为可由操作系统进行加载执行的文件。例如,安卓操作系统对应的可执行文件为dex格式的文件。

步骤s105,加载所述独立功能组件对应的可执行文件。

在本实施例中,用户终端100只有通过加载可执行文件后才能执行独立功能组件对应的第一功能。可选地,可以将可执行文件加载入临时存储器中,以便立即执行。具体地,将所述独立功能组件对应的执行文件并入所述基础功能组件对应的可执行文件。基础功能组件对应的可执行文件在应用程序启动时已加载入临时存储器中执行,因此将独立功能组件对应的执行文件并入基础功能组件对应的可执行文件中,即可实现加载。

步骤s106,获取所述独立功能组件对应的组件内容。

在本实施例中,独立功能组件解压后可获得对应的可执行文件及组件内容。独立功能组件每解压一次就会将获得的可执行文件及组件内容替换上次解压获得的可执行文件及组件内容。在可执行文件被加载后,直接从对应的已解压的独立功能组件中获取对应的组件内容。组件内容为可执行文件执行第一功能时所需的素材数据。例如,淘宝客户端中可执行文件执行与商家对话的功能时,组件内容可以是。但不限于是对话框的图像素材、界面显示的素材等。

步骤s107,加载所述组件内容。

在本实施例中,将所述组件内容加载入临时存储器中,以方便执行可执行文件时,对组件内容进行调用。以通过显示单元115向用户展示功能实现界面。

第二实施例

请参照图5,图5为本发明实施例提供的应用程序加载装置200的功能模块示意图。所述应用程序加载装置200包括获得模块201、匹配模块202、第一加载模块203、获取模块204及第二加载模块205。

获得模块201,用于在侦测到所述应用程序启动时,获取所述基础功能组件对应的可执行文件。

在本实施例中,步骤s101可由获得模块201执行。

第一加载模块203,用于将所述基础功能组件对应的可执行文件加载入所述用户终端100的存储器111内。

在本实施例中,步骤s102可由第一加载模块203执行。

匹配模块202,用于响应功能启用指令,匹配对应的应用程序的独立功能组件。

在本实施例中,所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,其中功能组件包括多个独立功能组件。步骤s103可以由匹配模块202执行。应用程序在运行后,可以实现多个互相独立的功能,每一个独立功能对应一个独立功能组件。独立功能组件只有在其对应的功能被使用时才进行加载执行。以减少不必要的存储空间占用。可选地,当用户需要启用应用程序中一个独立功能时,可以通过输入输出单元116生成与该独立功能对应的功能启用指令。例如,当用户需要使用淘宝客户端的搜索商品时,用户可通过点击搜索框触发搜索启动指令。用户终端100在获得功能启用指令后,根据获得的功能启动指令对应需要实现的第一功能,匹配对应的独立功能组件。请参考图6,匹配模块202包括以下子模块:

查询子模块2021,用于查询已解压的所述独立功能组件是否存在与第一功能相对应的可执行文件。

在本实施例中,子步骤s10311可以由查询子模块2021执行。

在其他实施例中,子步骤s10321可以由查询子模块2021执行。

获取子模块2022,用于获取所述应用程序中与第一功能相对应的未解压的所述独立功能组件;及还用于获取所述已解压的所述独立功能组件。

在本实施例中,子步骤s10312及子步骤s10313均可由获取子模块2022执行。可选地,若不存在与所述第一功能相对应的可执行文件,则获执行子步骤s10312;若存在与所述第一功能相对应的可执行文件,则执行子步骤s10313。

在其他实施例中,子步骤s10323及子步骤s10324均可由获取子模块2022执行。可选地,若存在与所述第一功能相对应的可执行文件且与所述第一功能相对应的可执行文件有效,则获取子模块2022执行子步骤s10323;当不存在与所述第一功能相对应的可执行文件或存在的与所述第一功能相对应的可执行文件无效,则获取子模块2022执行子步骤s10324。

在其他实施例中,如图7所示,匹配模块202还包括:判断子模块2023,用于判断与所述第一功能相对应的可执行文件是否有效。子步骤s10322可以由判断子模块2023执行。

获得模块201,还用于获得所述独立功能组件对应的可执行文件。

在本实施例中,步骤s104可以由获得模块201执行。可选地,可以是通过以下任意一种方式:解压与第一功能相对应的未解压的所述独立功能组件以获得所述可执行文件;或从所述已解压的所述独立功能组件中获得与第一功能相对应的可执行文件。

第一加载模块203,还用于加载所述独立功能组件对应的可执行文件。

在本实施例中,步骤s105可以由第一加载模块203执行。可选地,可以通过将所述独立功能组件对应的执行文件并入所述基础功能组件对应的可执行文件的方式执行。

获取模块204,用于获取所述独立功能组件对应的组件内容。

在本实施例中,步骤s106可以由获取模块204执行。

第二加载模块205,用于加载所述组件内容。

在本实施例中,步骤s107可以由第二加载模块205执行。

综上所述,本发明提供应用程序加载方法、装置及用户终端。应用程序加载方法,应用于用户终端,所述方法包括:响应功能启用指令,匹配对应的应用程序的独立功能组件,其中所述应用程序被预先按照所实现功能的不同而打包成包括多个功能组件,所述功能组件包括独立功能组件;获得所述独立功能组件对应的可执行文件;加载所述独立功能组件对应的可执行文件。需要使用的功能才加载对应可执行文件,使应用程序加载更加灵活,快捷。且避免了应用程序长时间占用大量临时存储器空间。进而提高用户终端存储空间的使用率,提高使用者的体验。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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