应用程序处理方法以及装置的制造方法_2

文档序号:9910827阅读:来源:国知局
目标应用程序已注册的通知组件的配置信息。
[0069]在步骤104中,根据所述目标应用程序的所有进程信息将所述目标应用程序的所有进程冻结。
[0070]综上所述,本公开实施例提供的应用程序处理方法,在侦测到冻结请求时,获取目标应用程序的所有进程信息,修改目标应用程序已注册的通知组件的配置信息,并将目标应用程序的所有进程冻结,由于修改了通知组件的配置信息,因此,使得目标应用程序不会接收到通知组件的通知信息;同时,冻结目标应用程序的所有进程,也使得目标应用程序不会占用处理器的资源,从而降低了对电量的消耗,延长了续航时间。
[0071]图2是根据一示例性实施例示出的另一种应用程序处理方法的流程图,如图2所示,该方法包括以下步骤。
[0072]在步骤201中,侦测是否存在冻结请求。
[0073]本步骤中,终端上通过安装多种应用程序可以实现多种功能,通过同时运行多个应用程序,可以实现多任务处理。相关技术中,终端当前界面下显示的应用程序为前台运行的应用程序,其他正在运行的应用程序会转入后台运行。在后台运行的应用程序不仅占用内存的资源,还会同时占用处理器的资源,增加终端的功耗。因此,对后台运行的应用程序进行冻结,释放处理器的资源,可以降低功耗,延长终端的续航时间。本公开实施例中,首先判断是否存在冻结请求,即是否需要对应用程序进行处理。可以理解的是,可以事先设置哪些应用程序可以进行冻结处理,比如如果是聊天类应用程序,为了防止冻结之后接收不到消息,则无需进行冻结处理,具体可以由用户自行设置,本公开实施例并不以此为限。
[0074]可选地,若侦测到目标应用程序由前台运行切换为后台运行,则获取所述目标应用程序在后台运行的时间,若所述目标应用程序在后台运行的时间超过预设的时间阈值,则确认为存在冻结请求。
[0075]本公开实施例中,目标应用程序为用户预先设置的可以进行冻结处理的应用程序,当侦测到目标应用程序由前台运行切换为后台运行时,进一步的获取目标应用程序在后台运行的时间,若该时间超过预设的时间阈值,则可认为用户暂时不会再使用目标应用程序,可以对目标应用程序进行处理,即可确认为存在冻结请求。可以理解的,该预设的时间阈值可以由用户自行设置,本公开实施例中,可以设置为3分钟,在其他实施例中,也可以设置为其他时间,本公开实施例并不以此为限。
[0076]可选地,若侦测到所述目标应用程序在前台运行,则获取终端的屏幕状态,若所述终端的屏幕熄屏时间超过预设的时间阈值,则确认为存在冻结请求。
[0077]本公开实施例中,若目标应用程序在前台运行,此时若侦测到终端的屏幕熄灭,则获取屏幕熄灭的时间,若时间超过预设的时间阈值,则也可认为此时用户暂时不会再使用目标应用程序,可以对目标应用程序进行处理,即可确认为存在冻结请求。可以理解的,该预设的时间阈值可以由用户自行设置,本公开实施例中,可以设置为3分钟,在其他实施例中,也可以设置为其他时间,本公开实施例并不以此为限。
[0078]在步骤202中,若侦测到冻结请求,则根据目标应用程序的标识信息获取所述目标应用程序的所有进程信息。
[0079]本步骤中,若侦测到存在对目标应用程序的冻结请求,则获取该目标应用程序的所有进程信息。本公开实施例中,首先获取该目标应用程序的标识信息,所述标识信息包括用户身份标识(UID,user identifier)以及程序标识(PID,process identifier),通过用户身份标识以及程序标识获取该目标应用程序的所有进程信息。由于一个应用程序可能对应于多个进程信息,因此,通过用户身份标识以及程序标识可以准确的查找到该应用程序对应的所有进程,便于后续对进程进行处理。其中,获取进程信息的方法可以是通过用户身份标识以及程序标识计算得到。
[0080]在步骤203中,获取所述目标应用程序已注册的通知组件信息。
[0081 ]本步骤中,为了保证目标应用程序在进行冻结之后,不再占用处理器的资源,需要避免目标应用程序被其他组件的通知信息唤醒。在安卓系统中,由于应用程序会注册多个系统事件,当系统发生时,对应的通知组件就会发送通知信息到应用程序。当应用程序处于后台运行时,也还是会接收到上述通知信息。因此,为了避免应用程序被唤醒,需要对目标应用程序已经注册的通知组件信息进行相应的修改。在本步骤中,首先获取目标应用程序已注册的通知组件信息。本公开实施例中,通知组件包括:广播(broadcast)、闹钟(alarm)、传感器(sensor)、输入事件(input event)、电量状态服务(battery stats)以及能耗管理服务(power manager service)等。可以理解的是,通知组件根据应用程序的不同,还可以包括其他类别,本公开实施例并不以此为限。
[0082]在步骤204中,修改所述通知组件的配置信息,使得所述通知组件停止向所述目标应用程序发送通知信息。
[0083]本步骤中,在获取到通知组件信息之后,对通知组件的配置信息进行修改,使得所述通知组件停止向所述目标应用程序发送通知信息。这样,在后续目标应用程序进行冻结之后,也不会被唤醒,从而避免了频繁唤醒对处理器资源的占用,降低了对电量的消耗。
[0084]在步骤205中,根据所述目标应用程序的所有进程信息将所述目标应用程序的所有进程冻结。
[0085]综上所述,本公开实施例提供的应用程序处理方法,在侦测到冻结请求时,获取目标应用程序的所有进程信息,修改目标应用程序已注册的通知组件的配置信息,并将目标应用程序的所有进程冻结,由于修改了通知组件的配置信息,因此,使得目标应用程序不会接收到通知组件的通知信息,避免了频繁唤醒对处理器资源的占用,降低了对电量的消耗;同时,冻结目标应用程序的所有进程,也使得目标应用程序不会占用处理器的资源,降低了对电量的消耗,延长了续航时间。
[0086]图3是根据一示例性实施例示出的另一种应用程序处理方法的流程图,如图3所示,该方法包括以下步骤。
[0087]在步骤301中,侦测是否存在冻结请求。
[0088]在步骤302中,若侦测到冻结请求,则根据目标应用程序的标识信息获取所述目标应用程序的所有进程信息。
[0089]在步骤303中,获取所述目标应用程序已注册的通知组件信息。
[0090]在步骤304中,修改所述通知组件的配置信息,使得所述通知组件停止向所述目标应用程序发送通知信息。
[0091 ] 在步骤305中,从预设的控制组池中选取空闲的控制组。
[0092]本步骤中,为了将应用程序进行冻结处理,本公开实施例中采用控制组来实现。在安卓系统的内核中,通过建立多个控制组可以实现同时支持对多个应用程序的冻结。本公开实施例中,在系统初始化的时候,可以建立64个控制组,组成控制组池。可以理解的是,建立控制组的个数还可以是其他数量。当需要对应用程序进行冻结处理时,从控制组池中挑选出空闲的控制组。
[0093]在步骤306中,采用所述空闲的控制组将所述目标应用程序的所有进程挂起。
[0094]本步骤中,根据之前获取到的目标应用程序的所有进程信息,采用空闲的控制组将目标应用程序的所有进程挂起,从而使得目标应用程序的所有经常处于只占用内存,不占用处理器资源的状态,减少对系统资源的消耗。当后续用户想要再行使用目标应用程序时,只需要将该目标应用程序对应的进程从控制组中释放,该目标应用程序就可以再次快速使用,提升了效率。冻结应用程序对比关闭应用程序可以方便用户快速启动,避免开启应用程序等待时间过长。
[0095]综上所述,本公开实施例提供的应用程序处理方法,在侦测到冻结请求时,获取目标应用程序的所有进程信息,修改目标应用程序已注册的通知组件的配置信息,并将目标应用程序的所有进程冻结,由于修改了通知组件的配置信息,因此,使得目标应用程序不会接收到通知组件的通知信息,避免了频繁唤醒对处理器资源的占用,降低了对电量的消耗;同时,冻结目标应用程序的所有进程,也使得目标应用程序不会占用处理器的资源,降低了对电量的消耗,延长了续航时间。
[0096]图4是根据一示例性实施例示出的另一种应用程序处理方法的流程图,如图3所示,该方法包括以下步骤。
[0097]在步骤401中,侦测是否存在冻结请求。
[009
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1