一种应用程序的管理方法以及电子设备与流程

文档序号:11864036阅读:217来源:国知局
一种应用程序的管理方法以及电子设备与流程

本发明涉及一种能够降低电子设备出现随机性卡顿以及降低电子设备耗电量的应用程序的管理方法以及电子设备。



背景技术:

现有的计算设备(例如移动智能终端)支持多应用程序同时运行,这些同时运行的应用程序中,有的运行于计算设备的前台,可被用户直接查看和操作,我们称之为前台应用程序;有的则默默地运行于计算设备的后台,不会干扰用户对前台应用程序的操作,我们称之为后台应用程序。

通常,后台应用程序会占用计算设备一定的资源,例如内存资源、电力资源或者网络资源等,并且会影响到计算设备的运行效率。

在现有技术所提供的计算设备后台应用程序管理的技术方案中,可不让后台应用程序接收广播信息、释放GPS资源等操作。

但是,某些后台应用程序在后台运行的时候,不需要接收广播信息或者GPS资源的,所以,即便控制该后台应用程序无法接收广播信息以及释放GPS资源,该后台应用程序依旧会继续占用电子设备的资源,从而导致设备易出现随机性卡顿以及降低了设备的续航时间。



技术实现要素:

本发明实施例提供了一种应用程序的管理方法以及电子设备,以降低后台的应用程序所占用的资源,降低电量的消耗。

本发明实施例提供了一种应用程序的管理方法,其中,包括:

确定满足第一预设条件的应用程序,所述满足第一预设条件的应用程序为不需要在电子设备的后台运行的应用程序;

向所述满足第一预设条件的应用程序的进程组发送冻结信号,以使所述满足第一预设条件的应用程序根据所述冻结信号进行冻结。

可选的,所述确定满足第一预设条件的应用程序之前,所述方法还包括:

判断应用程序在所述电子设备的后台的运行时间是否大于或等于预设时长;

若所述应用程序在所述电子设备的后台的运行时间大于或等于所述预设时长,则执行所述确定满足第一预设条件的应用程序的步骤。

可选的,所述确定满足第一预设条件的应用程序包括:

判断在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序是否满足所述第一预设条件;

若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序满足所述第一预设条件,则执行所述向所述满足第一预设条件的应用程序的进程组发送冻结信号的步骤;

所述方法还包括:

若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序不满足所述第一预设条件,则确定不满足所述第一预设条件的应用程序不需要进行冻结。

可选的,所述向所述满足第一预设条件的应用程序的进程组发送冻结信号之后,所述方法还包括:

确定满足第二预设条件的应用程序,所述满足第二预设条件的应用程序为需要解冻的后台的应用程序;

向所述满足第二预设条件的应用程序的进程组发送解冻信号,使得所述满足第二预设条件的应用程序进行解冻。

可选的,所述满足第二预设条件的应用程序为:

Activity组件所提供的应用界面接收到用户输入的操作指令、和/或需要接收广播信息、和/或需要启动Service组件、和/或需要访问数据库、和/或需要向电子设备的前台界面推送应用程序无响应对话框。

本发明实施例提供了一种电子设备,其中,包括:

第一确定单元,用于确定满足第一预设条件的应用程序,所述满足第一预设条件的应用程序为不需要在电子设备的后台运行的应用程序;

第一发送单元,用于向所述满足第一预设条件的应用程序的进程组发送冻结信号,以使所述满足第一预设条件的应用程序根据所述冻结信号进行冻结。

可选的,所述电子设备还包括:

第一判断单元,用于判断应用程序在所述电子设备的后台的运行时间是否大于或等于预设时长;

所述第一确定单元还用于,若所述应用程序在所述电子设备的后台的运行时间大于或等于所述预设时长,则确定满足第一预设条件的应用程序。

可选的,所述第一确定单元还用于,判断在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序是否满足所述第一预设条件;

所述第一发送单元还用于,若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序满足所述第一预设条件,则向所述满足第一预设条件的应用程序的进程组发送冻结信号;

所述电子设备还包括:

第二确定单元,用于若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序不满足所述第一预设条件,则确定不满足所述第一预设条件的应用程序不需要进行冻结。

可选的,所述电子设备还包括:

第三确定单元,用于确定满足第二预设条件的应用程序,所述满足第二预设条件的应用程序为需要解冻的后台的应用程序;

第二发送单元,用于向所述满足第二预设条件的应用程序的进程组发送解冻信号,使得所述满足第二预设条件的应用程序进行解冻。

可选的,所述满足第二预设条件的应用程序为:

Activity组件所提供的应用界面接收到用户输入的操作指令、和/或需要接收广播信息、和/或需要启动Service组件、和/或需要访问数据库、和/或需要向电子设备的前台界面推送应用程序无响应对话框。

采用本实施例所示的应用程序的管理方法,在确定不需要在电子设备的后台运行的应用程序后,即可向所述应用程序发送冻结信号,以使所述满足第一预设条件的应用程序根据所述冻结信号进行冻结,使得该应用程序不会在电子设备的后台运行,从而降低了电子设备的功耗,节省了电量,延长了电子设备的待机时长,而且冻结无需在后台运行的应用程序,从而提升了电子设备资源的利用效率,有效的避免了电子设备出现随机性卡顿的情况。

附图说明

图1为本发明所提供的应用程序的管理方法的一种实施例步骤流程图;

图2为本发明所提供的电子设备的一种实施例结构示意图。

具体实施方式

为更好的理解本发明实施例所提供的应用程序的管理方法,以下首先对本发明实施例所提供的电子设备进行说明。

本发明实施例所提供的电子设备可为智能手机(Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(英文全称:Mobile Internet Devices,英文简称:MID)、PC等终端设备,具体在本发明实施例中不作限定。

以下对电子设备的前台的应用程序和后台的应用程序进行说明。

一般而言,电子设备中的应用程序分为两类,一类是用户自主安装的第三方应用程序,比如“微信”、“手机QQ”、“微博”等应用程序;另一类是电子设备操作系统内置的系统应用程序,比如“电话”、“设置”、“信息”、“相册”等应用程序。

当用户不再使用已运行在前台的应用程序或者或需要使用其他应用程序时,则用户可以关闭不再使用已运行在前台的应用程序。为了方便对应用程序的快速加载,电子设备都具有将应用程序置于后台的功能,即,用户可以不用关闭该应用程序,而是将该应用程序置于电子设备后台,当用户重新使用该应用程序时,只需通过从电子设备后台调度出该应用程序即可。

比如用户在智能手机中使用应用程序“微信”与好友对话,按下导航键之后“微信”的显示界面被关闭,但是,“微信”并未被彻底关闭,此时的“微信”就是一个后台的应用程序。在下次用户需要使用应用程序“微信”时,直接调度出应用程序“微信”即可。

本实施例中,所述后台的应用程序,是指电子设备中当前处于运行状态的第三方应用程序和系统应用程序。

这样,该应用程序无需重新打开运行,节省了应用程序加载的时间。但是,当应用程序置于后台时,该应用程序仍然会占用系统资源继续运行,这样会造成资源的浪费,比如耗电的浪费、流量的浪费以及CPU调度的浪费等,所以一般的,用户并不希望被置于后台且不需要在后台运行的应用程序仍然占用系统资源。

以下结合图1所示对本发明实施例所提供的应用程序的管理方法进行详细说明,其中,图1所示为本发明所提供的应用程序的管理方法的一种实施例步骤流程图。

步骤101、判断应用程序在电子设备的后台的运行时间是否大于或等于预设时长,若是,则执行步骤102。

本实施例中,所述预设时长可为系统预设,本实施例对所述预设时长的具体值不作限定,本实施例以所述预设时长为1分钟为例进行示例性说明。

本实施例设定所述预设时长的目的,是在实际使用电子设备的过程中,当应用程序在电子设备的后台的运行时间小于所述预设时长时,则用户重新调用该应用程序至电子设备的前台再次进行使用的可能性较大,则为避免系统资源的浪费,则电子设备只需要对已在电子设备的后台的运行时间大于或等于预设时长的应用程序执行是否需要冻结的步骤。

需明确的是,本实施例所示的步骤101为可选步骤,是否执行在本实施例中不作限定,本实施例以执行步骤101为例进行示例性说明。

步骤102、判断在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序是否满足所述第一预设条件,若是,则执行步骤103,若否,则执行步骤104。

本实施例中,所述第一预设条件可为不与所述电子设备的前台的应用程序有数据交互。对所述第一预设条件不作限定,只要满足所述第一预设条件的应用程序为不需要在电子设备的后台运行的应用程序即可。

为更好的理解后台的应用程序与前台的应用程序之间的数据交互,以下首先对电子设备系统的组件进行说明。

需明确的是,本实施例对所述电子设备系统的组件的说明为示例性说明,具体不作限定。

本实施例以所述电子设备系统为Android系统为例,电子设备系统包括四大组件,活动(Activity)组件、服务(Service)组件、内容提供(Content Provider)组件以及广播接收器(Broadcast Receiver)组件。

一个应用程序中,Activity组件通常就是一个单独的操作界面,操作界面上可以显示一些控件也可以监听并处理用户的事件做出响应。一个Service组件是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。Content Provider组件使一个应用程序的指定数据集提供给其他应用程序,这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。Broadcast Receiver组件可以接收外部发送的广播信息并作出响应,Broadcast Receiver组件没有用户界面,然而,Broadcast Receiver组件可以启动一个Activity组件或Service组件来响应它们收到的广播信息。

本实施例所示的第一预设条件可为后台的应用程序不与所述电子设备的前台的应用程序的服务Service组件和/或内容提供Content Provider组件有数据交互。

可见,本实施例所示的冻结方法可将不与前台的应用程序的Service组件和/或内容提供Content Provider组件有数据交互的后台的应用程序进行冻结。

又如,所述第一预设条件可为不具有唤醒锁(wakelock)。

具有唤醒锁的后台的应用程序能够阻止电子设备进入睡眠模式。

可见,本实施例所示的冻结方法可将能够阻止电子设备进入睡眠模式的后台的应用程序进行冻结。

又如,所述第一预设条件可为不向所述电子设备的前台界面推送操作界面。

本实施例对所述操作界面可用于接收用户输入的操作指令,本实施例对所述操作指令不作限定,例如,启动或关闭应用程序的操作指令。

本实施例对所述操作界面的具体显示模式不作限定,例如,所述操作界面可以是视窗、按钮、图标或者弹出在所述前台界面的视窗。

可见,本实施例所示的冻结方法不将能够向所述电子设备的所述前台界面推送所述操作界面的后台的应用程序进行冻结。

又如,所述第一预设条件可为不为输入法应用程序。

若后台的应用程序为输入法应用程序,则该后台的应用程序在用户实际使用的过程中,调用至前台的可能性很大,为避免反复启动输入法应用程序而浪费功耗,提升调用所述输入法应用程序的效率,则本实施例所示的冻结方法不将所述输入法应用程序进行冻结。

又如,所述第一预设条件可为不使用GPS定位功能。

若后台的应用程序使用GPS定位功能,则说明该后台的应用程序可能正在提供导航功能,则本实施例所示的冻结方法可不冻结使用GPS定位功能的后台的应用程序。

又如,所述第一预设条件可为不在当前时刻播放音频的应用程序。

可见,本实施例所示的冻结方法不将在当前时刻播放音频的后台的应用程序进行冻结。

又如,所述第一预设条件可为在预设时间内下载行为的下载流量小于预设阈值、和/或在所述预设时间内上传行为的上传流量小于预设阈值。

本实施例所示的电子设备可预先设置预设时间和预设阈值。

当后台的应用程序在预设时间内下载行为的下载流量大于或等于预设阈值,则说明该后台的应用程序正在从互联网上下载数据,则本实施例不将在预设时间内下载行为的下载流量大于或等于预设阈值的后台的应用程序进行冻结。

当后台的应用程序在预设时间内上传行为的上传流量大于或等于预设阈值,则说明该后台的应用程序正在向互联网上传数据,则本实施例不将在预设时间内上传行为的上传流量大于或等于预设阈值的后台的应用程序进行冻结。

步骤103、将所述满足第一预设条件的应用程序的进程组冻结。

本实施例所示的电子设备可遍历满足所述第一预设条件的后台的应用程序的进程组,并向该进程组发送冻结信号,例如,以本实施例所示的电子设备的系统为Android系统为例,那么该系统的底层为linux系统,则该冻结信号可以为SIGSTOP信号,当该后台的应用程序的进程组均收到所述冻结信号时,则该应用程序的所有进程都不会再运行,此时,该应用程序则处于冻结状态。

当所述应用程序处于冻结状态时,所述应用程序将不再继续占用CPU资源,不接收广播信息,不响应操作事件,不被其他应用程序调用等,以使冻结的应用程序能够节省电子设备系统的资源,避免了电子设备系统资源的浪费,减少耗电,提升了电子设备的待机时长,有效的避免电子设备出现随机性卡顿的情况。

本实施例所示的所述广播信息包括但不限于应用程序安装事件、应用程序卸载事件、网络变化事件、接收到短信事件、接收到来电事件、设置日期和/或时间事件。

例如,本实施例中电子设备的系统可预先创建文件,在各个已创建的文件里放入应用程序,以使各应用程序与各已创建的文件一一对应,已创建文件的名称可为sys或fs或cgroup或freezer,通过监控各文件的内容,能够确定是否对该文件内的应用程序进行冻结,若确定需要冻结,则直接向放置有该应用程序的文件内发送所述冻结信号,所述冻结信号可包括有FROZEN字符串。

步骤104、确定不满足所述第一预设条件的应用程序不需要进行冻结。

若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序不满足所述第一预设条件,则说明该应用程序为需要在后台运行的应用程序,例如该应用程序需要进行搜索GPS资源、和/或需要与电子设备前台的应用程序进行数据交互、和/或具有唤醒锁资源、和/或需要向所述电子设备的前台界面推送操作界面、和/或为输入法应用程序、和/或在当前时刻播放音频的应用程序、和/或在预设时间内下载行为的下载流量大于或等于预设阈值、和/或在所述预设时间内上传行为的上传流量大于或等于预设阈值等情况。

步骤105、判断已冻结的应用程序是否满足第二预设条件,若是,则执行步骤106,若否,则执行步骤107。

所述电子设备可建立冻结列表,当所述电子设备将后台的应用程序冻结后,可将该应用程序的标识存放在所述冻结列表中。

可见,位于所述冻结列表中的所有的应用程序均为已冻结的应用程序。

所述电子设备可遍历所述冻结列表中的所有已冻结的应用程序,并逐一判断应用程序是否满足所述第二预设条件。

满足所述第二预设条件的应用程序为需要进行解冻的应用程序,不满足所述第二预设条件的应用程序为不需要进行解冻的应用程序。

例如,本实施例所示的第二预设条件为已冻结的应用程序的活动Activity组件所提供的应用界面接收到用户输入的操作指令。

本实施例所示的后台的应用程序的活动Activity组件所提供的应用界面用于接收用户输入的操作指令,本实施例对所述操作指令不作限定,例如,所述操作指令可为用户输入的重新调用该应用程序的指令等。

又如,所述第二预设条件还可为已冻结的应用程序需要接收广播信息。

本实施例所示的电子设备的系统可周期或实时的检测已冻结的应用程序是否需要接收广播信息,若确定已冻结的应用程序需要接收广播信息,即可确定该应用程序满足所述第二预设条件。

又如,所述第二预设条件还可为已冻结的应用程序需要启动所述服务Service组件。

本实施例所示的电子设备的系统可周期或实时的检测已冻结的应用程序是否需要启动所述服务Service组件,若确定已冻结的应用程序需要启动所述服务Service组件,即可确定该应用程序满足所述第二预设条件。

又如,所述第二预设条件还可为已冻结的应用程序需要访问数据库。

本实施例所示的电子设备的系统可周期或实时的检测已冻结的应用程序是否需要通过访问数据库以进行数据的获取或数据的存储动作,若确定已冻结的应用程序需要访问数据库,即可确定该应用程序满足所述第二预设条件。

又如,所述第二预设条件还可为已冻结的应用程序需要向所述电子设备的前台界面推送应用程序无响应ANR对话框。

本实施例所示的电子设备的系统可周期或实时的检测已冻结的应用程序是否需要向所述电子设备的前台界面推送应用程序无响应ANR对话框,其中,若所述电子设备的系统确定应用程序超过预定的时长没有响应,则可确定该应用程序需要向所述电子设备的前台界面推送应用程序无响应ANR对话框。若电子设备的系统确定已冻结的应用程序需要向所述电子设备的前台界面推送应用程序无响应ANR对话框,即可确定该应用程序满足所述第二预设条件。

又如,所述第二预设条件还可为已冻结的应用程序出现异常的时候,本实施例中,只要电子设备的系统确定已冻结的应用程序出现异常,即可确定该应用程序满足第二预设条件。

步骤106、向所述满足第二预设条件的应用程序的进程组发送解冻信号。

本实施例所示的电子设备可遍历满足所述第二预设条件的后台的应用程序的进程组,并向该进程组发送解冻信号,例如,以本实施例所示的电子设备的系统为Android系统为例,那么该系统的底层为linux系统,则该解冻信号可以为SIGstart信号,当该后台的应用程序的进程组均收到所述解冻信号时,则该应用程序的所有进程会重新自行启动再运行,此时,该应用程序则处于解冻状态。

例如,本实施例中电子设备的系统可通过监控各文件的内容,能够确定是否对该文件内的应用程序进行解冻,若确定需要解冻,则直接向放置有该应用程序的文件内发送所述解冻信号,所述冻结信号可包括有THAWED字符串。

步骤107、控制所述应用程序处于冻结状态。

当电子设备确定已冻结的应用程序不满足第二预设条件,则确定不满足所述第二预设条件的电子设备无需解冻,则所述电子设备即可控制不满足所述第二预设条件的电子设备继续处于冻结状态。

可见,采用本实施例所示的应用程序的管理方法,在确定不需要在电子设备的后台运行的应用程序后,即可向所述应用程序发送冻结信号,以使所述满足第一预设条件的应用程序根据所述冻结信号进行冻结,使得该应用程序不会在电子设备的后台运行,从而降低了电子设备的功耗,节省了电量,延长了电子设备的待机时长,而且冻结无需在后台运行的应用程序,从而提升了电子设备资源的利用效率,提升了系统的运行效率,有效的避免了电子设备出现随机性卡顿的情况。

以下结合图2所示对本发明实施例所提供的电子设备的结构进行说明,本实施例所示的电子设备能够实现图1所示的应用程序的管理方法的流程,具体执行流程请详见图1所示,具体在本实施例中不再赘述。

所述电子设备包括:

第一判断单元201,用于判断应用程序在所述电子设备的后台的运行时间是否大于或等于预设时长;

第一确定单元202,用于确定满足第一预设条件的应用程序,所述满足第一预设条件的应用程序为不需要在电子设备的后台运行的应用程序;

所述第一确定单元202还用于,若所述应用程序在所述电子设备的后台的运行时间大于或等于所述预设时长,则确定满足第一预设条件的应用程序。

其中,所述满足第一预设条件的应用程序为:

不与所述电子设备的前台的应用程序有数据交互、和/或不具有唤醒锁资源、和/或不向所述电子设备的前台界面推送操作界面、和/或不为输入法应用程序、和/或不占用全球定位系统GPS资源、和/或不在当前时刻播放音频的应用程序、和/或在预设时间内下载行为的下载流量小于预设阈值、和/或在所述预设时间内上传行为的上传流量小于预设阈值。

所述不与所述电子设备的前台的应用程序有数据交互包括:

不与所述电子设备的前台的应用程序的服务Service组件和/或内容提供Content Provider组件有数据交互。

所述第一确定单元202还用于,判断在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序是否满足所述第一预设条件;

第一发送单元203,用于向所述满足第一预设条件的应用程序的进程组发送冻结信号,以使所述满足第一预设条件的应用程序根据所述冻结信号进行冻结。

所述第一发送单元203还用于,若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序满足所述第一预设条件,则向所述满足第一预设条件的应用程序的进程组发送冻结信号;

第二确定单元204,用于若在所述电子设备的后台的运行时间大于或等于所述预设时长的应用程序不满足所述第一预设条件,则确定不满足所述第一预设条件的应用程序不需要进行冻结。

第三确定单元205,用于确定满足第二预设条件的应用程序,所述满足第二预设条件的应用程序为需要解冻的后台的应用程序;

第二发送单元206,用于向所述满足第二预设条件的应用程序的进程组发送解冻信号,使得所述满足第二预设条件的应用程序进行解冻。

所述满足第二预设条件的应用程序为:

活动Activity组件所提供的应用界面接收到用户输入的操作指令、和/或需要接收广播信息、和/或需要启动所述服务Service组件、和/或需要访问数据库、和/或需要向所述电子设备的前台界面推送应用程序无响应ANR对话框。

采用本实施例所示的电子设备执行图1所示的应用程序的管理方法的有益效果具体请详见图1所示,具体在本实施例中不作赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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