一种应用程序的运行方法及装置与流程

文档序号:12119922阅读:241来源:国知局
一种应用程序的运行方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种应用程序的运行方法及装置。



背景技术:

随着终端技术的发展以及互联网技术的发展,在终端上集成的功能越来越多,的各个不同的应用负责不同的功能。例如,即时聊天软件负责聊天消息的接收和发送,文档编辑应用负责文档的查看和编辑,支付应用负责转账、付款等。用户开启一个应用在该应用的操作界面中处理与该应用对应的业务或功能。

但是,用户在使用手机等终端中某一个应用的过程中,可能也需要启动另一个应用处理相关业务,例如,在使用淘宝应用进行购物并付款时,需要首先在淘宝应用中进行操作,然后在付款时启动支付宝应用完成付款;再例如,用户在QQ应用中接收到其他用户发送的word文档之后,若需要查看该Word文档,则需要启动对应的WPS应用等来查看该word文档。

一般来讲,在运行一个应用A时,若需要启动另一个应用B,需要发送相应的应用启动指令给相应的应用启动管理服务,然后加载与应用B对应的加载项,在所有的加载项加载完成的情况下,才能启动应用B。也就是说,在启动应用程序B时,因为需要加载的加载项较多,导致了在启动应用程序B的过程中耗时较长。



技术实现要素:

本发明实施例提出了一种应用程序的运行方法,可以解决一个应用中启动另外一个应用的过程中因为需要加载的加载项较多而导致的应用的启动过程中耗时长、效率低的技术问题。

一种应用程序的运行方法,包括:

检测应用启动事件,获取与所述应用启动事件对应的应用程序作为运行应用程序;

根据预设的应用关联启动的关系表确定与所述运行应用程序关联的关联应用程序;

确定预设的与所述关联应用程序对应的预加载项,加载所述与所述关联应用程序对应的预加载项;

接收与所述关联应用程序对应的启动请求,获取与所述启动请求对应的关联应用程序作为目标应用程序;

加载与所述目标应用程序对应的除所述预加载项之外的剩余加载项启动所述目标应用程序。

在其中一个实施例中,所述加载所述与所述关联应用程序对应的预加载项的步骤之后还包括:

接收与所述运行应用程序对应的应用程序关闭指令;

根据所述与所述运行应用程序对应的应用程序关闭指令关闭所述运行应用程序,并注销所述加载的与所述关联应用程序对应的预加载项。

在其中一个实施例中,所述与运行应用程序关联的关联应用程序不止一个。

在其中一个实施例中,所述确定预设的与所述关联应用程序对应的预加载项的步骤还包括:

根据所述预设的应用关联启动的关系表确定每一个关联应用程序与所述关联应用程序的关联优先级;

在该关联应用程序的所有加载项中根据所述关联优先级确定预设的与所述关联优先级对应的加载项作为预加载项。

在其中一个实施例中,所述方法还包括:

记录在所述运行应用程序中启动每一个关联应用程序的次数和/或频率,根据所述在所述运行应用程序中启动所述每一个关联应用程序的次数和/或频率更新所述预设的应用关联启动的关系表。

此外,还提出了一种应用程序的运行装置。

一种应用程序的运行装置,包括:

关联应用程序确定模块,用于检测应用启动事件,获取与所述应用启动事件对应的应用程序作为运行应用程序,根据预设的应用关联启动的关系表确定与所述运行应用程序关联的关联应用程序;

预加载项加载模块,用于确定预设的与所述关联应用程序对应的预加载项,加载所述与所述关联应用程序对应的预加载项;

目标应用程序启动请求接收模块,用于接收与所述关联应用程序对应的启动请求,获取与所述启动请求对应的关联应用程序作为目标应用程序;

应用启动模块,用于加载与所述目标应用程序对应的除所述预加载项之外的剩余加载项启动所述目标应用程序。

在其中一个实施例中,所述预加载项加载模块还用于接收与所述运行应用程序对应的应用程序关闭指令;根据所述与所述运行应用程序对应的应用程序关闭指令关闭所述运行应用程序,并注销所述加载的与所述关联应用程序对应的预加载项。

在其中一个实施例中,所述与运行应用程序关联的关联应用程序不止一个。

在其中一个实施例中,所述预加载项加载模块还用于根据所述预设的应用关联启动的关系表确定每一个关联应用程序与所述关联应用程序的关联优先级;在该关联应用程序的所有加载项中根据所述关联优先级确定预设的与所述关联优先级对应的加载项作为预加载项。

在其中一个实施例中,所述装置还包括关联关系更新模块,用于记录在所述运行应用程序中启动每一个关联应用程序的次数和/或频率,根据所述在所述运行应用程序中启动所述每一个关联应用程序的次数和/或频率更新所述预设的应用关联启动的关系表。

采用了上述应用程序的运行方法和装置之后,在启动一个应用程序之后,根据与该应用程序关联的可能在该已启动的应用程序在启动时必须加载的加载项,提前预加载上述加载项中的部分可提前加载的加载项,然后在该应用程序中启动关联的应用程序时,仅需要加载剩余的加载项,也就是说,减少了在启动应用时加载的加载项项数,减少了在启动应用时加载加载项需要耗费的时间,提高了应用加载的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中一种应用程序的运行方法的流程示意图;

图2为一个实施例中一种应用程序的运行装置的结构示意图;

图3为一个实施例中运行前述应用程序的运行方法的计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本实施例中,提出了一种应用程序的运行方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是应用程序启动和关闭的管理应用程序。该计算机系统可以是运行上述计算机程序的例如智能手机、平板电脑、个人电脑等服务器或终端。

具体的,如图1所示,上述应用程序的运行方法包括如下步骤S102-S108:

步骤S102:检测应用启动事件,获取与所述应用启动事件对应的应用程序作为运行应用程序;

步骤S104:根据预设的应用关联启动的关系表确定与所述运行应用程序关联的关联应用程序。

在用户在终端中启动一个应用程序时,在终端的显示界面上展示与该应用程序对应的操作页面。一般来讲,在启动了某一个应用之后,用户就可以通过该已经启动的应用启动其他应用,或者在该已启动的应用中调用其他应用进行相关操作。

在本实施例中,预先需要设置终端上安装的所有的应用程序之间的关联关系,即在某一个应用程序启动时可能关联启动的应用程序与该应用程序之间存在关联关系。在本实施例中,将终端上所有的安装的应用程序之间的关联关系用应用关联启动的关系表来记录,在该应用关联启动的关系表中,可以确定与某一个应用程序关联的所有的关联应用程序。

需要说明的是,在本实施例中,与某一个特定的应用程序关联的关联应用程序的数量为0,也可以是1个,还可以是大于1的任意数量。

具体的,在一个实施例中,所述与运行应用程序关联的关联应用程序不止一个。

步骤S106:确定预设的与所述关联应用程序对应的预加载项,加载所述与所述关联应用程序对应的预加载项。

在本实施例中,关联应用程序在启动时需要加载若干个加载项,在本实施例中,对于每一个关联应用程序在启动时需要加载的加载项,设置其在预先加载时需要加载的加载项,即与该关联应用程序对应的预加载项。

需要说明的是,在本实施例中,每一个关联应用程序对应的预加载项是不同的,并且预加载项是该关联应用程序在启动之前可以预先进行加载的加载项。并且,在运行应用程序启动之后,在关联应用程序被启动之前,通过操作系统的启动管理服务加载关联应用程序的预加载项,以便在后续启动相应的应用程序时,因为已经加载部分加载项从而使得在启动应用的过程中需要加载的加载项减少,从而提高应用启动的速度。

需要说明的是,在本实施例中,因为关联应用程序的预加载项的加载时为了在运行应用程序中启动关联应用程序所做的准备,因此,若用户退出上述运行应用程序,则说明用户当前不需要再运行应用程序中启动任何关联应用程序。为了节省终端的内存资源,在用户退出上述运行应用程序时,也注销上述预加载项的加载。

具体的,在一个实施例中,所述加载所述与所述关联应用程序对应的预加载项的步骤之后还包括:接收与所述运行应用程序对应的应用程序关闭指令;根据所述与所述运行应用程序对应的应用程序关闭指令关闭所述运行应用程序,并注销所述加载的与所述关联应用程序对应的预加载项。

也就是说,在一个应用程序被关闭时,若在该应用程序运行的过程中,加载了与该应用程序对应的关联应用程序对应的预加载项,则在该应用程序被关闭时,注销上述已被加载的预加载项。

进一步的,在一个实施例中,与运行应用程序对应的关联应用程序有多个,并且,这多个关联应用程序在运行应用程序中被启动的概率是不一样的,例如,在淘宝应用中,启动支付宝应用的概率是最大的,而启动相机应用的概率比启动支付宝应用的概率要小。因此,虽然一个运行应用程序对应的关联应用程序有多个,但是其对应的被启动的概率不同,为了节省终端的资源,减少在此过程中加载的预加载项,并且不影响用户在运行应用程序中启动关联运行程序的效率,可以针对不同启动概率的关联应用程序设置不同的加载项。

例如,对于同一个应用程序,在其对应的启动概率不同时,其对应的预加载项会根据其启动概率的变化而变化,启动概率高则预加载的预加载项的项数多。

具体的,在一个实施例中,所述确定预设的与所述关联应用程序对应的预加载项的步骤还包括:根据所述预设的应用关联启动的关系表确定每一个关联应用程序与所述关联应用程序的关联优先级;在该关联应用程序的所有加载项中根据所述关联优先级确定与所述关联优先级对应的加载项作为预加载项。

也就是说,在终端中存储的预设的应用关联启动的关系表中,不仅记载了两个应用之间是否存在关联关系,还记载了关联关系的优先级,即运行应用程序对应的每一个关联应用程序与运行应用程序对应的关联优先级。

需要说明的是,关联优先级可以是用户手动设置的,还可以是根据在运行应用程序中启动一个关联应用程序的次数、频率以及使用时间来确定的。

进一步的,对每一个关联应用程序,设置其在不同的关联优先级下对应的预加载项,并且在确定当前需要预加载的所有的预加载项时,考虑每一个关联应用程序的关联优先级。

步骤S108:接收与所述关联应用程序对应的启动请求,获取与所述启动请求对应的关联应用程序作为目标应用程序。

用户通过点击与气动另一个应用程序对应的按钮或控件、或链接等来想终端中的操作系统的启动管理服务发送启动一个应用程序的启动请求,或者,运行应用程序自动跳转或向操作系统的启动管理服务发送启动一个应用的启动请求。操作系统的启动管理服务接收到的启动请求对应的应用程序即为目标应用程序。

例如,在QQ应用中,若用户接收到其他用户发送的word文档,通过点击该word文档来启动终端中的WPS应用或WORD应用来查看该接收到的word文档,用户点击该word文档的操作即向终端中的操作系统的应用管理服务发送了启动终端中的WPS应用或WORD应用的启动请求。再例如,在淘宝应用中用户在购物结算的过程中,淘宝应用自动向终端发送启动支付宝应用的启动请求,然后在支付宝应用中完成付款的操作。

需要说明的是,用户在运行应用程序中启动一个应用程序时,若该应用程序是运行应用程序的一个关联应用程序,则执行步骤S106-S108,反之,若该应用程序不是运行应用程序的的任意一个关联应用程序,则直接通过操作系统的启动管理服务来启动该应用程序。

步骤S110:加载与所述目标应用程序对应的除所述预加载项之外的剩余加载项启动所述目标应用程序。

在目标应用程序是运行应用程序的一个关联应用程序、且其对应的所有的加载项中已经有部分的加载项作为预加载项在步骤S104中已经加载完毕了,则在本实施例中,直接通过操作系统的启动管理服务加载该目标应用程序在加载的过程中所有的需要加载的加载项中除了上述已经加载的预加载项之外的所有的剩余的加载项,从而完成目标应用程序的启动。

需要说明的是,在本实施例中,若用户退出该目标应用程序,但是并没有退出运行应用程序,则说明用户在继续使用运行应用程序的过程中,还可能再次启动目标应用程序,也就是说,在退出目标应用程序时,并不是直接注销与该目标应用程序对应的所有的加载项,而是仅注销该目标应用程序在步骤S108中加载的剩余加载项,而原来已经加载的预加载项会在退出运行应用程序时进行注销。

进一步的,每一个用户在使用的过程中的使用习惯不同,可能会导致不同的用户在使用某一个应用的过程中可能会启动的关联应用程序时不一样的。因此,在关联启动任意一个应用时,记录相应的启动记录,并根据启动记录对应用之间的关联关系进行修改,以便在最大的程度上考虑用户的使用习惯并保证在应用的关联启动时的启动效率。

具体的,在一个实施例中,上述方法还包括:记录在所述运行应用程序中启动每一个关联应用程序的次数和/或频率,根据所述在所述运行应用程序中启动所述每一个关联应用程序的次数和/或频率更新所述预设的应用关联启动的关系表。

在每一次关联启动应用程序时,记录该次关联启动的相关记录,并且,根据记录的启动记录更新预设的应用关联启动的关系表。例如,更新关联应用程序对应的关联优先级,或者,将某一不是关联应用程序的应用程序添加到运行应用程序的关联应用程序列表中去。

此外,如图2所示,还提出了一种应用程序的运行装置,包括关联应用程序确定模块102、预加载项加载模块104、目标应用程序启动请求接收模块106以及应用启动模块108,其中:

关联应用程序确定模块102,用于检测应用启动事件,获取与所述应用启动事件对应的应用程序作为运行应用程序;根据预设的应用关联启动的关系表确定与所述运行应用程序关联的关联应用程序;

预加载项加载模块104,用于确定预设的与所述关联应用程序对应的预加载项,加载所述与所述关联应用程序对应的预加载项;

目标应用程序启动请求接收模块106,用于接收与所述关联应用程序对应的启动请求,获取与所述启动请求对应的关联应用程序作为目标应用程序;

应用启动模块108,用于加载与所述目标应用程序对应的除所述预加载项之外的剩余加载项启动所述目标应用程序。

可选的,在一个实施例中,预加载项加载模块104还用于接收与所述运行应用程序对应的应用程序关闭指令;根据所述与所述运行应用程序对应的应用程序关闭指令关闭所述运行应用程序,并注销所述加载的与所述关联应用程序对应的预加载项。

可选的,在一个实施例中,上述与运行应用程序关联的关联应用程序不止一个。

可选的,在一个实施例中,预加载项加载模块104还用于根据所述预设的应用关联启动的关系表确定每一个关联应用程序与所述关联应用程序的关联优先级;在该关联应用程序的所有加载项中根据所述关联优先级确定预设的与所述关联优先级对应的加载项作为预加载项。

可选的,在一个实施例中,如图2所示,上述装置还包括关联关系更新模块110,用于记录在所述运行应用程序中启动每一个关联应用程序的次数和/或频率,根据所述在所述运行应用程序中启动所述每一个关联应用程序的次数和/或频率更新所述预设的应用关联启动的关系表。

采用了上述应用程序的运行方法和装置之后,在启动一个应用程序之后,根据与该应用程序关联的可能在该已启动的应用程序在启动时必须加载的加载项,提前预加载上述加载项中的部分可提前加载的加载项,然后在该应用程序中启动关联的应用程序时,仅需要加载剩余的加载项,也就是说,减少了在启动应用时加载的加载项项数,减少了在启动应用时加载加载项需要耗费的时间,提高了应用加载的效率。

在一个实施例中,如图3所示,图3展示了一种运行上述应用程序的运行方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是智能手机、平板电脑、掌上电脑、笔记本电脑或个人电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。

在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的关联应用程序确定模块102、预加载项加载模块104、目标应用程序启动请求接收模块106、应用启动模块108以及关联关系更新模块110。且在上述应用程序的运行方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。

具体的,在本实施例中,处理器1002用于执行如下操作:

检测应用启动事件,获取与所述应用启动事件对应的应用程序作为运行应用程序,根据预设的应用关联启动的关系表确定与所述运行应用程序关联的关联应用程序;

确定预设的与所述关联应用程序对应的预加载项,加载所述与所述关联应用程序对应的预加载项;

接收与所述关联应用程序对应的启动请求,获取与所述启动请求对应的关联应用程序作为目标应用程序;

加载与所述目标应用程序对应的除所述预加载项之外的剩余加载项启动所述目标应用程序。

在可选的实施例中,在处理器1002加载所述与所述关联应用程序对应的预加载项的步骤之后,处理器1002还用于接收与所述运行应用程序对应的应用程序关闭指令;根据所述与所述运行应用程序对应的应用程序关闭指令关闭所述运行应用程序,并注销所述加载的与所述关联应用程序对应的预加载项。

在可选的实施例中,处理器1002还用于根据所述预设的应用关联启动的关系表确定每一个关联应用程序与所述关联应用程序的关联优先级;在该关联应用程序的所有加载项中根据所述关联优先级确定预设的与所述关联优先级对应的加载项作为预加载项。

在可选的实施例中,处理器1002还用于记录在所述运行应用程序中启动每一个关联应用程序的次数和/或频率,根据所述在所述运行应用程序中启动所述每一个关联应用程序的次数和/或频率更新所述预设的应用关联启动的关系表。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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