CN104268019B - 一种软件运行方法、装置及终端 - Google Patents
一种软件运行方法、装置及终端 Download PDFInfo
- Publication number
- CN104268019B CN104268019B CN201410491993.7A CN201410491993A CN104268019B CN 104268019 B CN104268019 B CN 104268019B CN 201410491993 A CN201410491993 A CN 201410491993A CN 104268019 B CN104268019 B CN 104268019B
- Authority
- CN
- China
- Prior art keywords
- subprocess
- assignment component
- trigger event
- parameter information
- application software
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种软件运行方法,包括:目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程。本发明实施例还公开了一种软件运行装置及终端。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件运行方法、装置及终端。
背景技术
随着终端技术的发展,终端上运行的应用软件越来越多样化,应用软件提供的功能也越来越丰富,通常,应用软件在提供其自身的主打功能外,还会提供一些额外的附加功能,使人们的生活变得更便捷。例如,绝大多数即时通讯类应用软件中均提供网页浏览功能,用户使用该类应用软件时可直接从该类应用软件中浏览热门新闻等信息,而无需使用专用浏览器类软件浏览网页。
随着应用软件提供的功能越来越丰富,应用软件中加载的组件数量也呈增长趋势。通常,系统启动应用软件时,会自动给应用软件分配有限的内存资源给该应用软件使用或调用。由于可供应用软件调用的内存资源有限,在现有的软件运行方法中,若由于组件本身的缺陷存在该组件不再使用时所占用的内存无法得到完全释放的情况或应用软件存在部分组件占用较大内存的情况,将导致应用软件因内存不足而运行不顺畅,甚至崩溃。
发明内容
本发明实施例提供一种软件运行方法、装置及终端,可以有效利用系统的内存资源,提高应用软件的运行效率。
第一方面,本发明实施例提供一种软件运行方法,包括:
目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;
根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;
通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;
检测到关闭所述指定组件的触发事件时,关闭所述子进程。
在第一方面的第一种可能的实现方式中,所述指定组件包括WebView组件。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息,包括:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件,包括:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
结合第一方面或第一方面的上述任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述参数信息,启动针对所述指定组件预先设置的子进程之前,所述方法还包括:
识别系统中是否已启动有针对该指定组件预先设置的子进程;
若否,执行所述根据所述参数信息,启动针对所述指定组件预先设置的子进程的步骤。
第二方面,本发明实施例提供一种软件运行装置,包括:
获取模块,用于目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;
启动模块,用于根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;
响应模块,用于通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;
关闭模块,用于检测到关闭所述指定组件的触发事件时,关闭所述子进程。
在第二方面的第一种可能的实现方式中,所述指定组件包括WebView组件。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取模块具体用于:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述响应模块具体用于:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
结合第二方面或第二方面的上述任意一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:
识别模块,用于识别系统中是否已启动有针对该指定组件预先设置的子进程;
所述启动模块,用于:
若系统中未启动有针对该指定组件预先设置的子进程,根据所述参数信息,启动针对所述指定组件预先设置的子进程。
第三方面,本发明实施例提供一种终端,包括如上所述的任意一种软件运行装置。
实施本发明实施例,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件运行方法的流程示意图;
图2是本发明实施例提供的一种软件运行方法的另一流程示意图;
图2a是图2提供的其中一种显示界面示意图;
图2b是图2提供的其中一种Web页面的显示示意图;
图3是本发明实施例提供的一种软件运行装置的结构示意图;
图4是本发明实施例提供的一种软件运行装置的另一结构示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种软件运行装置的又一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种软件运行方法、装置及终端,目标应用软件的主进程检测到需要激活指定组件的触发事件时,启动针对该指定组件设置的子进程;子进程调用激活的指定组件来响应该触发事件;检测到关闭该指定组件的触发事件时,关闭该子进程。本发明实施例中,指定组件可以是占用内存资源较大的组件或者是不再使用时无法正常释放所占用的内存资源的组件,从而,在软件运行过程中,指定组件的激活不仅不会占用主进程的内存资源,而且在需要关闭激活的指定组件时可以正常释放该子进程占用的内存资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。下面将结合附图1-附图6对本发明实施例提供的一种软件运行方法、装置及终端分别进行详细介绍。
请参见图1,图1是本发明实施例提供的一种软件运行方法的流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S101:目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息。
在大多数情况下,每个Android应用软件都运行在自己的Linux进程中,当应用软件的某些代码需要运行时,这个进程就被创建并一直运行下去,直到系统认为该进程不再有用为止,然后系统将回收进程占用的内存以便分配给其它的应用软件使用。可知,现有技术中,一个应用软件通常只对应一个进程,换句话说,应用软件中的所有组件均运行在同一个进程中,启动应用软件时,自动启动该应用软件对应的进程。
在终端上启动应用软件时,操作系统自动给运行该应用软件的进程分配有限的内存资源,即给每款应用软件均设置一个内存调用量上限值,运行该应用软件的进程仅可以使用所分配的内存资源,且最大的使用量不能超过所设定的上限值。当分配给应用软件使用的内存资源不够该进程使用时,即便系统存在空闲的内存资源,该应用软件对应的进程也不能使用这些未分配的空闲资源。因此,若应用软件中某些已加载的组件占用较大的内存资源,或者是由于组件本身的缺陷,导致该组件不再使用时系统无法正常释放掉该组件所占用的内存资源时,该类应用软件在运行过程中所占用的内存资源很容易达到系统设定的上限值。当应用软件实际占用的内存大小趋于系统分配的可供该应用软件使用的上限值时,该应用软件将出现卡顿,甚至奔溃现象,从而,系统的内存资源不仅没有得到有效利用,而且将导致终端上的应用软件运行效率低,影响用户体验。
本发明实施例中,通过预先调研获知哪些组件占用的内存资源较大,例如:用于显示全屏、大容量图片界面的组件;哪些组件占用的内存资源将无法得到正常释放,例如:用于在应用软件中浏览网页的WebView组件。可以将这些组件预先设置为指定组件,其中,指定组件包括WebView组件。当应用软件中需要激活这些指定组件时,单独为这些指定组件启动一个新的进程,系统给新启动的进程分配内存资源,因此,指定组件的激活并不会占用应用软件所在进程的内存资源,且可以根据实际需要关闭新启动的进程,灵活释放子进程占用的内存资源,即指定组件占用的内存资源。从而,通过有效利用系统的内存资源,提高应用软件的运行效率。
为方便说明,本发明实施例中将运行目标应用软件的进程称为主进程,运行指定组件的进程称为子进程。当目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息,该参数信息用于标识需要启动的子进程,使系统可以根据该参数信息去启动对应的子进程。例如:参数信息可以是子进程标识,子进程标识可以是子进程名称,或者是与子进程名称关联的标识符等信息,如Activity活动标识。具体的,本发明实施例不作限制。
S102:根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程。
例如:根据参数信息中的Activity活动标识,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程。其中,在Activity活动标识标定的Activity中预先加载或定义了指定组件及使用指定组件响应触发事件的方法,用于响应接收到的触发事件。系统启动子进程时,自动给该子进程分配一定的内存资源,从而,避免指定组件占用目标应用软件的内存资源,且可有效利用系统中空闲的内存资源。
S103:通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件。
子进程启动后,指定组件被激活,通过在所述子进程中调用激活的指定组件的方式来响应触发事件。具体的响应方法预先设置在Activity活动标识标定的Activity中,当检测到相应的触发事件时,在所述子进程中调用激活的指定组件响应该触发事件。具体的,调用指定组件的响应方法由触发事件的具体类型和需要激活的指定组件决定,本发明实施例不作限制。例如:假设指定组件为打开网页的WebView组件,子进程调用激活的WebView组件来打开相应的网页;假设指定组件为打开全屏、大容量图片界面的组件,子进程调用激活的该指定组件来打开对应的图片或界面。
S104:检测到关闭所述指定组件的触发事件时,关闭所述子进程。
本发明实施例中,检测到关闭指定组件的触发事件时,说明用户不再使用该组件,因此,关闭子进程,以便释放子进程占用的内存资源供系统重新分配给其它进程使用。从而,使系统的内存资源得到有效利用。且有效避免了因指定组件的加载导致主进程运行时出现内存不足的情况,提高目标应用软件的运行效率。
在本发明实施例描述的软件运行方法中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
请参见图2,图2是本发明实施例提供的一种软件运行方法的另一流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S201:目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息。
WebView类是WebKit模块Java层的视图类,所有需要使用Web浏览功能的Android应用软件都要创建该视图对象来显示和处理请求的网络资源,在SDK(SoftwareDevelopment Kit,软件开发工具包)中封装成了WebView组件,可以用来浏览网络内容。Activity是Android组件中最基本也是最为常见的四大组件(Activity活动,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一,应用程序中一个Activity通常就是一个单独的屏幕。
现有方法在应用软件中使用WebView组件时,通常把WebView组件所在的Activity和其它Activity均配置在一个进程中,需要显示网页时启动WebView组件所在的Activity,通过WebView组件加载网页内容。由于WebView组件的加载会占用较多的内存资源,因此,导致应用软件所在进程的内存使用量过大,而且,由于WebView组件自身实现上的一些缺陷,在退出Web页面时WebView组件占用的部分内存资源无法得到完全释放,降低了可供该类应用软件实际使用的内存量,导致应用软件的运行效率低,且系统的内存资源利用率不高。本发明实施例中的指定组件为WebView组件。
由于指定组件配置在Activity中,本发明实施例中,开发人员可以预先在目标应用软件的配置文件中对WebView组件所在的Activity进行配置,将WebView组件所在的Activity配置到一个独立进程中。例如:在配置文件AndroidMainfest.xml中给WebView组件所在的Activity配置android:process标签。在目标应用软件的运行过程中,当目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,其中,参数信息包括网址信息和Activity活动标识。网址信息用于指示需要访问的Web页面,Activity活动标识用于标定打开该Web页面需要激活的WebView组件所在的Activity。
为方便说明,请参见图2a,图2a是图2提供的其中一种显示界面示意图。目标应用软件提供浏览网页的附加功能,通常,在目标应用软件的某个显示界面上提供一个网页入口,如图2a中图(1)所示的“XX新闻”,用户点击“XX新闻”的区域后,跳转到如图2a中图(2)所示的显示界面,在该显示界面中显示有目标应用软件向用户推荐的各网页的网页标题,如“新闻A”、“新闻B”等等。用户点击目标新闻所在标题的区域后,发送http请求。为方便说明,假设用户点击网页标题为“新闻B”的区域,则终端接收到图2a中图(2)所示的显示界面上输入的访问“新闻B”对应的Web页面的http请求时,获取该请求的参数信息,所述参数信息包括“新闻B”对应的Web页面的网址信息和用于加载网页的WebView组件所在的Activity的活动标识。具体的,可以是目标应用软件的主进程检测到针对该软件的显示界面输入的访问Web页面的http请求时,获取http请求期望访问的Web页面的网址信息以及响应该Web页面的Activity的活动标识等参数信息,其中,在该活动标识指定的Activity中加载了WebView组件。目标应用软件的主进程向系统发送intent消息,指示系统启动该活动标识指定的Activity,访问网址信息对应的Web页面。
S202:根据所述参数信息,启动针对WebView组件预先设置的子进程,所述子进程独立于所述主进程。
系统接收到目标应用软件的主进程发送的intent消息后,根据该消息中携带的活动标识,启动针对WebView组件预先设置的子进程,即WebView组件所在的Activity对应的进程,所述子进程独立于所述主进程。
S203:通过在所述子进程中调用激活的WebView组件的方式获取所述网址信息对应的网页的页面内容。
将WebView组件预先加载在Activity中,并在Activity中实现响应http请求的方法。从而,接收到http请求后,启动该Activity对应的子进程,通过在子进程中调用激活的WebView组件的方式获取http请求中携带的网址信息对应的网页的页面内容。例如:具体的响应方法包括解析HTML(HyperText Markup Language,超文本标记语言)、排版、渲染等等。
S204:显示该网页的页面内容。
S205:检测到关闭所述WebView组件的触发事件时,关闭所述子进程。
为方便说明,请参见图2b,图2b是图2提供的其中一种Web页面的显示示意图。用户在浏览Web页面的过程中,若点击“返回”按钮,说明指定组件暂时不再使用,则检测到关闭所述WebView组件的触发事件,调用WebView组件所在的Activity中的销毁函数,关闭所述子进程,从而释放子进程占用的内存资源供系统分配给其它进程使用。
在本发明实施例描述的软件运行方法中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
值得说明的是,在上述实施例中,由步骤S102或步骤S202实现根据参数信息,启动针对指定组件预先设置的子进程的操作之前,所述方法还可以包括识别系统中是否已启动有针对该指定组件预先设置的子进程,若已启动有针对该指定组件预先设置的子进程,则系统无需再启动新的子进程,在已经启动的子进程中调用激活的指定组件响应触发事件即可;若未启动有针对该指定组件预先设置的子进程,则启动针对所述指定组件预先设置的子进程,激活指定组件。
下面为本发明装置实施例,本发明装置实施例与本发明方法实施例属于同一构思,用于执行本发明方法实施例中描述的方法。为了便于说明,本发明装置实施例仅示出与本发明装置实施例相关的部分,具体技术细节未揭示的,请参照本发明方法实施例的描述,此处不再一一赘述。
请参见图3,图3是本发明实施例提供的一种软件运行装置的结构示意图,在本发明实施例中,该装置可以包括:获取模块101、启动模块102、响应模块103和关闭模块104。
获取模块101,用于目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息。
启动模块102,用于根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程。
响应模块103,用于通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件。
关闭模块104,用于检测到关闭所述指定组件的触发事件时,关闭所述子进程。
在本发明实施例描述的软件运行装置中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
请参见图4,图4是本发明实施例提供的一种软件运行装置的另一结构示意图,在本发明实施例中,该装置可以包括:获取模块201、启动模块202、响应模块203、关闭模块204和识别模块205。
获取模块201,用于目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息。
启动模块202,用于根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程。
响应模块203,用于通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件。
关闭模块204,用于检测到关闭所述指定组件的触发事件时,关闭所述子进程。
识别模块205,用于识别系统中是否已启动有针对该指定组件预先设置的子进程。
作为一种可能的实施方式,所述指定组件包括WebView组件。
作为一种可能的实施方式,获取模块201具体用于:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
作为一种可能的实施方式,响应模块203具体用于:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
作为一种可能的实施方式,启动模块202,用于若系统中未启动有针对该指定组件预先设置的子进程,根据所述参数信息,启动针对所述指定组件预先设置的子进程。
在本发明实施例描述的软件运行装置中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
请参见图5,图5是本发明实施例提供的一种终端的结构示意图,在本发明实施例中,终端10包括如上所述的软件运行装置。在本发明实施例中,所述终端可以包括:智能手机、电脑、平板电脑、笔记本电脑、掌上电脑以及移动互联网设备(MID)、PAD等终端设备。具体的,本发明实施例不作限制。
值得说明的是,终端10包括如上所述的任意一种软件运行装置,为方便说明,以其中一种软件运行装置来进行说明。目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程。
在本发明实施例描述的终端中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
请参见图6,图6是本发明实施例提供的一种软件运行装置的又一结构示意图,用于执行本发明实施例公开的软件运行方法,该装置可以包括:至少一个处理器301,例如CPU,至少一个网络接口304或者其他用户接口303,存储器305,至少一个通信总线302。通信总线302用于实现这些组件之间的连接通信。其中,用户接口303可选的可以包括USB接口以及其他标准接口、有线接口。网络接口304可选的可以包括Wi-Fi接口以及其他无线接口。存储器305可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器305可选的可以包含至少一个位于远离前述处理器301的存储装置。如图6所示,作为一种计算机存储介质的存储器305中可以包括操作系统3051及应用程序3052。
在一些实施方式中,存储器305存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统3051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序3052,包含目标网络数据的数据分块参数的设置程序、目标数据块的划分程序、目标数据块与数据库中的数据块的比较程序以及目标数据块的删除程序等各种应用程序,用于实现各种应用业务。
具体地,处理器301用于调用存储器305中存储的程序,执行以下操作:
目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;
根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;
通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;
检测到关闭所述指定组件的触发事件时,关闭所述子进程。
在另一种实施例中,所述指定组件包括WebView组件。
在另一种实施例中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,处理器301执行所述获取该触发事件的参数信息,具体包括执行以下操作:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
在另一种实施例中,处理器301执行所述通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件,具体包括执行以下操作:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
在另一种实施例中,处理器301执行所述根据所述参数信息,启动针对所述指定组件预先设置的子进程的操作之前,还包括执行以下操作:
识别系统中是否已启动有针对该指定组件预先设置的子进程;
若识别出系统中未启动有针对该指定组件预先设置的子进程,执行所述根据所述参数信息,启动针对所述指定组件预先设置的子进程的操作。
在本发明实施例描述的技术方案中,目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息;启动针对所述指定组件预先设置的子进程;所述子进程调用激活的指定组件来响应所述触发事件;检测到关闭所述指定组件的触发事件时,关闭所述子进程,释放子进程占用的系统资源。采用本发明实施例,可以有效利用系统的内存资源,提高应用软件的运行效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合和组合。本发明所有实施例中的模块或单元,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(Application SpecificIntegrated Circuit,专用集成电路)来实现。
本发明所有实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减;本发明所有实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (9)
1.一种软件运行方法,其特征在于,包括:
目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息,所述参数信息用于标识需要启动的子进程,所述指定组件通过预先调研的方式得到,且为用于显示全屏或者大容量图片界面的组件;
根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;
通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;
检测到关闭所述指定组件的触发事件时,关闭所述子进程;
其中,所述根据所述参数信息,启动针对所述指定组件预先设置的子进程之前,所述方法还包括:
识别系统中是否已启动有针对该指定组件预先设置的子进程;
若否,执行所述根据所述参数信息,启动针对所述指定组件预先设置的子进程的步骤。
2.如权利要求1所述的方法,其特征在于,所述指定组件包括WebView组件。
3.如权利要求2所述的方法,其特征在于,所述目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息,包括:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
4.如权利要求3所述的方法,其特征在于,所述通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件,包括:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
5.一种软件运行装置,其特征在于,包括:
获取模块,用于目标应用软件的主进程检测到需要激活指定组件的触发事件时,获取该触发事件的参数信息,所述参数信息用于标识需要启动的子进程,所述指定组件通过预先调研的方式得到,且为用于显示全屏或者大容量图片界面的组件;
启动模块,用于根据所述参数信息,启动针对所述指定组件预先设置的子进程,所述子进程独立于所述主进程;
响应模块,用于通过在所述子进程中调用激活的指定组件的方式来响应所述触发事件;
关闭模块,用于检测到关闭所述指定组件的触发事件时,关闭所述子进程;
其中,所述装置还包括:
识别模块,用于识别系统中是否已启动有针对该指定组件预先设置的子进程;
所述启动模块,用于:
若系统中未启动有针对该指定组件预先设置的子进程,根据所述参数信息,启动针对所述指定组件预先设置的子进程。
6.如权利要求5所述的装置,其特征在于,所述指定组件包括WebView组件。
7.如权利要求6所述的装置,其特征在于,所述获取模块具体用于:
目标应用软件的主进程接收到针对该软件的显示界面输入的访问Web页面的http请求时,获取所述http请求的参数信息,所述参数信息包括网址信息和Activity活动标识。
8.如权利要求7所述的装置,其特征在于,所述响应模块具体用于:
通过在所述子进程中调用激活的指定组件的方式获取所述网址信息对应的网页的页面内容;
显示该网页的页面内容。
9.一种终端,其特征在于,包括如权利要求5-8任一项所述的软件运行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491993.7A CN104268019B (zh) | 2014-09-23 | 2014-09-23 | 一种软件运行方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491993.7A CN104268019B (zh) | 2014-09-23 | 2014-09-23 | 一种软件运行方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268019A CN104268019A (zh) | 2015-01-07 |
CN104268019B true CN104268019B (zh) | 2018-04-27 |
Family
ID=52159543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410491993.7A Active CN104268019B (zh) | 2014-09-23 | 2014-09-23 | 一种软件运行方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268019B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475021A (zh) * | 2020-04-02 | 2020-07-31 | 上海龙旗科技股份有限公司 | 一种预判断用户动作的方法、系统及设备 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094844B (zh) * | 2015-08-21 | 2018-05-29 | 广东欧珀移动通信有限公司 | 一种电子相册管理方法及移动终端 |
CN105068819A (zh) * | 2015-09-10 | 2015-11-18 | 北京金山安全软件有限公司 | 一种应用程序的调用方法、装置及终端 |
CN107092468B (zh) * | 2016-02-17 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 一种消息显示方法及装置 |
CN105786519B (zh) * | 2016-03-17 | 2021-04-09 | 瑞芯微电子股份有限公司 | 安卓设备程序管理方法和安卓设备 |
CN105955765B (zh) * | 2016-04-22 | 2020-03-03 | 北京小米移动软件有限公司 | 应用预加载方法及装置 |
CN106021283A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 终端及基于终端的页面加载方法 |
CN107357479B (zh) * | 2016-05-10 | 2022-05-06 | 中兴通讯股份有限公司 | 应用程序的管理方法及装置 |
CN106685752B (zh) * | 2016-06-28 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及终端 |
CN106371907A (zh) * | 2016-08-30 | 2017-02-01 | 乐视控股(北京)有限公司 | 任务的执行方法及装置 |
CN107145372A (zh) * | 2017-05-09 | 2017-09-08 | 北京京东尚科信息技术有限公司 | 信息生成方法和装置 |
CN107295082A (zh) * | 2017-06-21 | 2017-10-24 | 北京奇虎科技有限公司 | 软件运行处理方法、装置及系统 |
CN107402808B (zh) * | 2017-07-31 | 2020-03-27 | Oppo广东移动通信有限公司 | 进程管理方法、装置、存储介质及电子设备 |
CN107729162A (zh) * | 2017-09-30 | 2018-02-23 | 北京小米移动软件有限公司 | 应用程序请求的处理方法和装置 |
CN107729745A (zh) * | 2017-10-24 | 2018-02-23 | 珠海市魅族科技有限公司 | 数据处理方法、终端、计算机装置及计算机可读存储介质 |
CN107894920A (zh) | 2017-11-09 | 2018-04-10 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN107943576B (zh) * | 2017-12-14 | 2020-09-29 | 中国平安人寿保险股份有限公司 | 应用程序的启动优化方法、装置、设备、系统及介质 |
CN108334779B (zh) * | 2018-01-30 | 2023-11-21 | 上海连尚网络科技有限公司 | 一种应用的处理方法、设备和计算存储介质 |
CN109213952A (zh) * | 2018-08-02 | 2019-01-15 | 平安科技(深圳)有限公司 | 页面访问处理方法、装置、计算机设备及存储介质 |
CN110377372A (zh) * | 2019-07-25 | 2019-10-25 | 南京中孚信息技术有限公司 | 目标应用的次进程退出方法、装置及电子设备 |
CN110806905B (zh) * | 2019-10-30 | 2022-09-30 | 网易(杭州)网络有限公司 | 用户页面处理方法与装置、电子设备、存储介质 |
CN113568719B (zh) * | 2020-04-29 | 2024-04-19 | 北京猎户星空科技有限公司 | 一种业务故障处理方法、装置、电子设备及存储介质 |
CN112084058A (zh) * | 2020-09-23 | 2020-12-15 | 北京金山云网络技术有限公司 | 进程处理方法、装置和电子设备 |
TWI775167B (zh) * | 2020-09-30 | 2022-08-21 | 新唐科技股份有限公司 | 操作系統及控制方法 |
CN113032080B (zh) * | 2021-03-31 | 2023-06-27 | 广州虎牙科技有限公司 | 页面实现方法、应用程序、电子设备及存储介质 |
CN116302850B (zh) * | 2023-05-20 | 2023-09-12 | 北京长亭科技有限公司 | 一种Linux套接字连接事件监控方法及装置 |
CN116302849B (zh) * | 2023-05-20 | 2023-08-11 | 北京长亭科技有限公司 | 一种Linux套接字关闭事件监控方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1834918A (zh) * | 2005-11-04 | 2006-09-20 | 北京金山软件有限公司 | 一种组件间调用方法 |
US7146611B1 (en) * | 2003-02-24 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method and system for managing memory for software modules |
CN102681891A (zh) * | 2012-05-04 | 2012-09-19 | 奇智软件(北京)有限公司 | 一种浏览器输入控件的进程控制方法和装置 |
CN103064680A (zh) * | 2012-12-25 | 2013-04-24 | 北京奇虎科技有限公司 | 浏览器中插件的播放方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5736756B2 (ja) * | 2010-12-09 | 2015-06-17 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
-
2014
- 2014-09-23 CN CN201410491993.7A patent/CN104268019B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146611B1 (en) * | 2003-02-24 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method and system for managing memory for software modules |
CN1834918A (zh) * | 2005-11-04 | 2006-09-20 | 北京金山软件有限公司 | 一种组件间调用方法 |
CN102681891A (zh) * | 2012-05-04 | 2012-09-19 | 奇智软件(北京)有限公司 | 一种浏览器输入控件的进程控制方法和装置 |
CN103064680A (zh) * | 2012-12-25 | 2013-04-24 | 北京奇虎科技有限公司 | 浏览器中插件的播放方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475021A (zh) * | 2020-04-02 | 2020-07-31 | 上海龙旗科技股份有限公司 | 一种预判断用户动作的方法、系统及设备 |
CN111475021B (zh) * | 2020-04-02 | 2021-09-10 | 上海龙旗科技股份有限公司 | 一种预判断用户动作的方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104268019A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268019B (zh) | 一种软件运行方法、装置及终端 | |
CN110908879B (zh) | 埋点数据的上报方法、装置、终端和存储介质 | |
CN107391114B (zh) | 页面可视化渲染方法及装置 | |
US20190220318A1 (en) | Memory Reclamation Method and Apparatus | |
CN101794567B (zh) | 图片加载的方法及终端 | |
CN109213947A (zh) | 浏览器页面展示方法、装置、电子设备及可读介质 | |
CN104881318B (zh) | 一种接口调用方法、装置及终端 | |
US10445220B2 (en) | System and methods for application activity capture, error identification, and error correction | |
CN107526640A (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
CN106599298A (zh) | 广告拦截方法、装置以及终端设备 | |
CN104199603B (zh) | 一种浏览器网页的控制方法、装置及终端 | |
CN102929924A (zh) | 一种基于浏览内容的取词搜索结果生成方法及装置 | |
US9535666B2 (en) | Dynamic agent delivery | |
CN106095551A (zh) | 展示媒体文件的方法和装置 | |
CN108170497A (zh) | 一种页面渲染的方法及装置 | |
CN104391724B (zh) | 重配置图标位置的方法和装置 | |
CN108959619A (zh) | 内容屏蔽方法、用户设备、存储介质及装置 | |
CN102945243A (zh) | 一种基于浏览内容的联系信息识别方法 | |
US20180159724A1 (en) | Automatic task tracking | |
CN105786481B (zh) | 一种设置应用自启动的方法、装置及电子设备 | |
CN106209607A (zh) | 订阅信息展示方法和装置 | |
CN109885793A (zh) | 页面数据采集方法及装置、电子设备、存储介质 | |
CN110704097A (zh) | 一种数据收集方法、装置及电子设备和存储介质 | |
EP2402858B1 (en) | Client Hypervisor-Based Terminal Device and Operating Method Thereof | |
CN111371953A (zh) | 标记数据处理方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510623 Tianhe District Huaxia Road, Guangdong, 3101-3106, 3108-3110 room, Applicant after: Guangzhou cheetah Network Technology Co., Ltd. Address before: 510623 unit 01-B, Guangzhou bank building, No. 30 Zhujiang Road, Guangzhou, Guangdong, Tianhe District, China Applicant before: Kingsoft, Guangzhou network technology Co., Ltd |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |