一种应用冻结的方法及终端的制作方法

文档序号:9708130阅读:207来源:国知局
一种应用冻结的方法及终端的制作方法
【技术领域】
[0001]本申请涉及终端领域,尤其涉及一种应用冻结的方法及终端。
【背景技术】
[0002]随着人们对终端的要求越来越高,终端的应用技术也日益增进。然而终端若需要实现更多的功能来提高用户的体验,需要对硬件的处理能力进行提升,但是硬件的改进是比较难以实现的,所以,基于现有的硬件能力,需要使用一些调整方法来实现硬件能力的最优化,从而提高用户的体验。比如,用户在使用终端时,一般只使用终端上的某一个应用,当用户不使用该应用或使用另一个应用时,则需要将当前使用的应用关闭或者放到终端后台,然而被放到终端后台的应用仍然会继续在进行该应用的功能交互,从而占用了系统的处理器调度,使得系统的负荷比较大。

【发明内容】

[0003]本申请提供了一种应用冻结的方法及终端,可实现用对应用进行冻结时,避免资源的浪费。
[0004]本申请第一方面提供一种应用冻结的方法,包括:
[0005]当目标应用满足预设条件时,则隔离目标应用所占用的系统资源;
[0006]在系统框架中隔离目标应用;
[0007]向目标应用的进程组发送冻结信号,使得目标应用进行冻结。
[0008]另一种可能的实现方式中,在隔离目标应用所占用的系统资源之前,方法还包括:
[0009]确定目标应用需要被冻结。
[0010]另一种可能的实现方式中,确定目标应用需要被冻结包括:
[0011 ]判断目标应用是否包括预设行为,若不包括,则确定目标应用需要被冻结;若包括,则确定目标应用不需要被冻结。
[0012]另一种可能的实现方式中,在系统框架层中隔离目标应用之前,该方法还包括:
[0013]对目标应用在系统框架中所对应的进程进行标识。
[0014]另一种可能的实现方式中,该方法还包括:
[0015]对目标应用所占用的内存数据进行压缩;
[0016]将压缩后的目标应用占用的内存数据置换到外部存储器中。
[0017]另一种可能的实现方式中,预设条件包括:
[0018]目标应用置于后台的时间超过预设阈值或终端处于锁屏状态。
[0019]本申请第二方面提供一种终端,该终端包括:
[0020]第一隔离单元,用于当目标应用满足预设条件时,则隔离目标应用所占用的系统资源;
[0021]第二隔离单元,用于在系统框架中隔离目标应用;
[0022]冻结单元,用于给目标应用的进程组发送冻结信号,使得目标应用处于冻结状态。
[0023]另一种可能的实现方式中,终端还包括:
[0024]第三确定单元,用于确定目标应用需要被冻结。
[0025]另一种可能的实现方式中,第三确定单元包括:判断单元,用于第一隔离单元隔离目标应用所占用的系统资源之前,判断目标应用是否包括预设行为;
[0026]第一确定单元,用于当判断单元判断目标应用不包括预设行为时,则确定目标应用需要被冻结;
[0027]第二确定单元,用于当判断单元判断目标应用包括预设行为时,则确定目标应用不需要被冻结。
[0028]另一种可能的实现方式中,该终端还包括:
[0029]标识单元,用于第二隔离单元在系统框架层中隔离目标应用之前,对目标应用在系统框架中所对应的进程进行标识。
[0030]另一种可能的实现方式中,该终端还包括:
[0031]压缩单元,用于对目标应用所占用的内存数据进行压缩;
[0032]置换单元,用于将压缩后的目标应用占用的内存数据置换到外部存储器中。
[0033]另一种可能的实现方式中,预设条件包括:
[0034]目标应用置于后台的时间超过预设阈值或终端处于锁屏状态。
[0035]本申请所提供的实施例中,当目标应用满足预设条件时,则隔离目标应用所占用的系统资源,在系统框架中隔离目标应用,向目标应用的进程组发送冻结信号,使得目标应用进行冻结。这样,终端在对目标应用的进程组进行冻结前,先将隔离目标应用所占用的系统资源,再从系统框架中隔离目标应用,最后发送冻结信号给目标应用的进程组,实现冻结。那么在冻结目标应用后,目标应用不再占用系统资源,避免了资源的浪费,也在使用上减少了电量的消耗以及流量的消耗等用户非预期的资源消耗,提高了用户的体验。
【附图说明】
[0036]图1为本申请中应用冻结的方法的一个实施例示意图;
[0037]图2为本申请中应用冻结的方法的另一实施例示意图;
[0038]图3为本申请中终端的一个实施例示意图;
[0039]图4为本申请中终端的另一实施例示意图。
【具体实施方式】
[0040]本申请提供了一种应用冻结的方法及终端,用于对应用进行冻结时,避免资源的浪费。
[0041]下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]参照图1所示,本申请中应用冻结的方法的一个实施例包括:
[0043]101、当目标应用满足预设条件时,则隔离所述目标应用所占用的系统资源;
[0044]用户在通过终端使用某一应用时,在当前时刻,在终端的前台,一般只运行有该应用,当用户不再使用该应用或需要使用另一应用时,则用户可以关闭该应用,为了方便对应用的快速加载,终端都具有将应用置于后台的功能,即,用户可以不用关闭该应用,而是将该应用置于终端后台,当用户重新使用该应用时,只需通过从终端后台调度出该应用即可,这样,该应用则无需重新打开运行,节省了应用加载的时间。但是,当应用置于后台时,该应用仍然会占用系统资源继续运行,这样会造成资源的浪费,比如耗电的浪费、流量的浪费以及CPU调度的浪费等,所以一般的,用户并不希望被置于后台的应用仍然占用系统资源。为了避免资源的浪费,在本申请所提供的应用冻结的方法中,当应用满足预设条件时,则开始对该应用进行冻结。
[0045]为了避免置于后台的应用继续占用系统资源,则需要隔离该应用所占用的系统资源,该系统资源包括应用在冻结时无法被释放的资源,如唤醒锁资源、GPS资源、以及传感器(sensor)资源。在本发明的一个实施例中,所述隔离指的是将该应用所占用的系统资源进行释放,或者断开与该应用与系统资源的连接。这里,所释放的系统资源可以根据需要进行,并非固定。可以理解,仅释放一个资源,在某些情况下,也可以被认为是释放了系统资源。例如:该应用为一个通信应用程序,用户在使用该通信应用程序时,通过该通信应用程序调度了系统的GPS资源,若不对该通信应用程序进行GPS资源的释放,那么该通信应用程序置于后台时,仍然会占用GPS资源,由于使用GPS资源需要进行实时变更,所以终端的处理器会一直处于高速运转状态,那么所消耗的电量也比较多,所以需要先隔离该通信应用程序所占用的GPS资源,即释放掉该通信应用程序所占用的GPS资源。
[0046]在本发明一个实施例中,可以理解,步骤101中所隔离的系统资源为后续无需冻结的系统资源。
[0047]102、在系统框架中隔离所述目标应用;
[0048]终端的系统框架用于对所有的应用进行管理,应用的进程直接体现在系统框架中。若对该应用进行冻结后,并未将该应用从所述系统框架中隔离开,那么系统可能会继续发送广播信息到该应用,而该应用的进程已经被冻结,则导致该应用不会产生响应给系统,系统则可能会关闭该应用中没有响应的进程,就会造成当重新加载该应用时,一些进程无法进行加载,使得该应用出现异常。所以,当需要冻结该应用时,则需要在系统框架中隔离该应用,在框架中隔离该应用,在本发明一个实施例中,指的是过滤该应用在系统框架中的数据交互。比如在Android系统中,具体的隔离方式包括:释放服务器连接(serviceunbinding)、删除还未发给该应用的广播、将应用从唤醒类型变更为非唤醒类型、隔离其它应用和该应用的service交互和provider交互,以及各种监听器交互等。但是不隔离actiVity,以保证点击该应用的界面时,使得该应用能马上解冻。
[0049]可以理解,全部的或部分的隔离都可以叫做隔离。
[0050]103、向所述目标应用的进程组发送冻结信号,使得所述目标应用进行冻结;
[0051]具体的,通过在系统框架层遍历该应用的进程组,并对该进程组发送冻结信号,比如,该系统为Android系统,那么该系统的底层为linux系统,则该冻结信号可以为SIGST0P信号,冻结信号在底层发送时,还要考虑到该进程组中具体某个进程pid所对应的子进程组,即要对该应用的所有的进程树发送该冻结信号。当该应用的进程组均收到冻结信号时,则该应用的所有进程都不会再运行,此时,该应用则处于冻结状态。
[0052]本申请所提供的实施例中,当目标应用满足预设条件时,则隔离所述目标应用所占用的系统资源,在系统框架中隔离所述目标应用,向所述目标应用的进程组发送冻结信号,使得所述目标应用进行冻结。这样,终端在对目标应用的进程组进行冻结前,先将隔离目标应用所占用的系统资源,再从系统框架中隔离目标应
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1