CN109992324B - 应用程序冻结方法、装置、存储介质和终端 - Google Patents

应用程序冻结方法、装置、存储介质和终端 Download PDF

Info

Publication number
CN109992324B
CN109992324B CN201711489075.0A CN201711489075A CN109992324B CN 109992324 B CN109992324 B CN 109992324B CN 201711489075 A CN201711489075 A CN 201711489075A CN 109992324 B CN109992324 B CN 109992324B
Authority
CN
China
Prior art keywords
freezing
application
application program
instruction
floating window
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
Application number
CN201711489075.0A
Other languages
English (en)
Other versions
CN109992324A (zh
Inventor
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201711489075.0A priority Critical patent/CN109992324B/zh
Publication of CN109992324A publication Critical patent/CN109992324A/zh
Application granted granted Critical
Publication of CN109992324B publication Critical patent/CN109992324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种应用程序冻结方法、装置、存储介质和终端。该方法包括:获取具有应用标识的冻结指令;冻结指令用于冻结具有应用标识的应用程序;监听具有应用标识的应用程序是否在显示界面显示悬浮窗;当具有应用标识的应用程序显示悬浮窗时,删除冻结指令中目标应用程序的应用标识,目标应用程序为具有应用标识且显示悬浮窗的应用程序;根据冻结指令中保留的应用标识对相应的应用程序进行冻结,继而可以不对目标应用程序的进行冻结,使目标应用程序处于正常运行状态,避免悬浮窗的正常显示出现卡死现象,提高用户体验度。

Description

应用程序冻结方法、装置、存储介质和终端
技术领域
本申请涉及终端技术领域,特别是涉及一种应用应用程序冻结方法、装置、存储介质和终端。
背景技术
随着终端设备进入智能时代,大屏幕(尤其是触摸屏)的终端设备越来越普及,终端设备上安装的应用(application,简称app)越来越多,为了满足用户操作灵活等需求,出现了悬浮窗,悬浮窗通常以透明或半透明的方式悬浮于显示界面上,向用户提供一些应用的扩展功能。
当应用程序切换至后台时,若该应用程序一直在后台运行就会占用一定的资源。一般,可以将所有在后台运行的应用程序进行冻结,使其不能在后台运行,释放***资源。但是,这种处理方式会导致具有悬浮窗的应用程序在显示界面出现异常。
发明内容
本申请实施例提供一种应用程序冻结方法、装置、存储介质和终端,可以使悬浮窗在显示界面正常显示,提高用户体验度。
一种应用程序冻结方法,包括:
获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;
根据所述冻结指令中保留的应用标识对相应的应用程序进行冻结一种应用程序冻结装置,所述装置包括:
获取模块,用于获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听模块,用于监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
删除模块,用于当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;
冻结模块,用于根据所述冻结指令中保留的应用标识对相应的应用程序进行冻结。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请各个实施例中的应用程序冻结方法的步骤。
一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请各个实施例中的应用冻结的步骤。
本申请实施例提供的应用程序冻结方法和装置、存储介质和终端,所述方法包括:获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;根据所述冻结指令中保留的应用标识对相应的应用程序进行冻结,继而可以不对目标应用程序的进行冻结,使目标应用程序处于正常运行状态,避免悬浮窗的正常显示出现卡死现象,提高用户体验度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中终端的内部结构示意图;
图2为一个实施例中终端中的***的部分框架示意图;
图3为一个实施例中应用程序冻结方法的流程图;
图4为另一个实施例中应用程序冻结方法的流程图;
图5为一个实施例中从所述冻结指令中删除所述目标应用程序的应用标识的流程图;
图6为又一个实施例中应用程序冻结方法的流程图;
图7为一个实施例中根据所述冻结指令对相应的应用程序的进程进行冻结的流程图;
图8为一个实施例中应用程序冻结装置的结构框图;
图9为一个实施例中手机的部分结构的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一被依赖进程称为第二被依赖进程,且类似地,可将第二被依赖进程称为第一被依赖进程。第一被依赖进程和第二被依赖进程两者都是被依赖进程,但其不是同一被依赖进程。
在一个实施例中,如图1所示,提供了一种终端的内部结构示意图。该终端包括通过***总线连接的处理器、存储器和显示屏。其中,该处理器用于提供计算和控制能力,支撑整个终端的运行。存储器用于存储数据、程序、和/或指令代码等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于终端的进程处理方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***、数据库和计算机程序。该数据库中存储有用于实现以上各个实施例所提供的一种进程处理方法相关的数据,比如可存储有每个进程或应用的名称等信息。该计算机程序可被处理器所执行,以用于实现本申请各个实施例所提供的一种进程处理方法。内存储器为非易失性存储介质中的操作***、数据库和计算机程序提供高速缓存的运行环境。显示屏可以是触摸屏,比如为电容屏或电子屏,用于显示前台进程对应的应用的界面信息,还可以被用于检测作用于该显示屏的触摸操作,生成相应的指令,比如进行前应用程序的切换指令等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。如该终端还包括通过***总线连接的网络接口,网络接口可以是以太网卡或无线网卡等,用于与外部的终端进行通信,比如可用于同服务器进行通信。
在一个实施例中,如图2所示,提供了一种终端的部分架构图。其中,该终端的架构***中包括JAVA空间层210、本地框架层220以及内核(Kernel)空间层230。JAVA空间层上可包含冻结和解冻应用210,终端可通过该冻结和解冻应用210来实现对各个应用的冻结策略,对后台耗电的相关应用做冻结操作。本地框架层220中包含资源优先级和限制管理模块222和平台冻结管理模块224。终端可通过资源优先级和限制管理模块222实时维护不同的应用处于不同优先级和不同资源的组织中,并根据上层的需求来调整应用程序的资源组别从而达到优化性能,节省功耗的作用。终端可通过平台冻结管理模块224将后台可以冻结的任务按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层,可选地,该冻结层可包括三个,分别是:CPU限制睡眠模式、CPU冻结睡眠模式、进程深度冻结模式。其中,CPU限制睡眠模式是指对相关进程所占用的CPU资源进行限制,使相关进程占用较少的CPU资源,将空余的CPU资源向其它未被冻结的进程倾斜,限制了对CPU资源的占用,也相应限制了进行对网络资源以及I/O接口资源的占用;CPU冻结睡眠模式是指禁止相关进程使用CPU,而保留对内存的占用,当禁止使用CPU资源时,相应的网络资源以及I/O接口资源也被禁止使用;进程深度冻结模式是指除禁止使用CPU资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。内核空间层230中包括UID管理模块231、Cgroup模块232、Binder管控模块233、进程内存回收模块234以及超时冻结退出模块235。其中,UID管理模块231用于实现基于应用的用户身份标识(User Identifier,UID)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(Process Identifier,PID)来进行进程管控,通过UID更便于统一管理一个用户的应用的资源。Cgroup模块232用于提供一套完善的中央处理器(Central Processing Unit,CPU)、CPUSET、内存(memory)、输入/输出(input/output,I/O)和Net相关的资源限制机制。Binder管控模块233用于实现后台binder通信的优先级的控制。其中,本地框架层220的接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理模块222和平台冻结管理模块224。进程内存回收模块234用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。超时冻结退出模块235用于解决出现冻结超时场景产生的异常。通过上述的架构,可实现本申请各个实施例中的应用程序冻结方法。
在一个实施例中,如图3所示,提供了一种应用程序冻结方法。本实施例以该方法应用于如图1所示的终端为例进行说明。该应用程序冻结方法,包括:
步骤302:获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序。
当应用程序满足预设冻结条件时,就会触发用于冻结该应用程序的冻结指令,该冻结指令中具有该应用程序的应用标识。当触发冻结条件时,终端***就会接收到具有应用标识的冻结指令,具体地,该冻结指令用于指示冻结具有该应用标识的应用程序的进程组,可以理解为向该进程组发送冻结信号,对应的应用程序接收到冻结信号时,则该应用程序的进程不会再运行,此时,该应用程序处于冻结状态,以实现对应用程序的冻结操作。冻结指令中可以包括一个应用标识,也可以包括多个应用标识。
其中,预设冻结条件包括时间条件、类型条件、网络环境条件、身份条件、资源分配条件以及自定义条件中的至少一个。
需要说明的是,应用标识用于唯一标识对应的应用程序,可由预设位数的数字、字母或者其他字符中的一种或几种的组合所构成。
步骤304:监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗。
在终端显示界面上显示相关应用的悬浮窗时,主要是通过设置终端***参数,在终端桌面上添加视图的方式实现的。比如以安卓(Android)***为例,可以通过借助***的窗口管理器(Window Manager),在窗口管理器中添加一个接口,再配合设置相应的层参数(Layout Params)属性,与上层的应用管理进行数据对接,从而获取显示界面中悬浮窗对应的应用程序的应用标识。
需要说明的是,该悬浮窗可以用于快捷控制的控制台,也可以为用于显示信息的输出、状态等界面。
根据获取的悬浮窗对应的应用程序的应用标识可以形成标识列表,该标识列表中用于存储显示界面中悬浮窗对应的应用程序的应用标识,也即,标识列表中存储的应用标识可以为一个,可以为两个,也可以为多个,在此不做进一步的限定。
根据获取的冻结指令携带的应用标识和标识列表,就可以判断具有所述应用标识的应用程序是否在显示界面显示悬浮窗。也即,通过对比冻结指令和标识列表,当冻结指令中携带的应用标识位于该标识列表中,则可以认为冻结指令中携带的应用标识所对应的应用程序在终端的显示界面显示了悬浮窗。
步骤306:当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序。
通过对比,当冻结指令中具有该应用标识的应用程序显示悬浮窗时,则删除冻结指令中目标应用程序的应用标识。其中,目标应用程序为具有该应用标识且显示悬浮窗的应用程序。当删除冻结指令中目标应用程序的应用标识时,也即,无法对目标应用程序执行冻结操作。
为了保证终端的正常运行,每个终端***都设置有相应的冻结机制。但是当启动冻结操作时,一般会保留一些***应用程序不被冻结,而其他的后台应用程序都可能被冻结。而在本申请中,当***进行应用程序的冻结操作时,则需要先判断,需要被冻结的应用程序是否在显示界面显示悬浮窗,当需要被冻结的应用程序(目标应用程序)显示悬浮窗时,则删除冻结指令中目标应用程序的应用标识,即不对该目标应用程序进行冻结,使目标应用程序处于正常运行状态,避免悬浮窗发生卡死,提高用户体验。
步骤308:根据所述冻结指令中保留的应用标识对相应的应用程序进行冻结。
上述冻结应用方法,当获取具有应用标识的冻结指令,监听具有应用标识的应用程序是否在显示界面显示悬浮窗,当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,不对目标应用程序的进行冻结,使目标应用程序处于正常运行状态,避免悬浮窗的正常显示出现卡死现象,提高用户体验度。
在一个实施例中,如图4所示,在冻结指令中删除所述冻结指令中目标应用程序的应用标识前,还包括:
步骤402:获取所述悬浮窗的悬浮窗参数;
悬浮窗的悬浮窗参数不同,其悬浮窗的呈现方式也就不同。其中,悬浮窗参数包括:悬浮窗的大小、悬浮窗边框的颜色、悬浮窗边框的图案、悬浮窗的透明度、悬浮窗的位置、悬浮窗的标识位等等。
步骤404:根据所述悬浮窗参数确定所述悬浮窗所在的显示空间,所述显示空间包括主空间和儿童空间。
不同的显示空间所对应的不同标识的悬浮窗,可以根据预设策略,设定不同显示空间的悬浮窗的标识。其中,不同的显示空间对应的不同的悬浮窗的悬浮窗参数。
例如,可以分别为主空间和儿童空间分别设置不同的悬浮窗参数,而使得悬浮窗以不同的形式呈现出来,例如悬浮窗的大小不同、悬浮窗边框的颜色不同、悬浮窗边框的图案不同、悬浮窗的透明度不同等等,均可使悬浮窗以不同的形式呈现出来。还可以根据显示空间的类型来为悬浮窗添加不同的标识位,例如,主空间的悬浮窗可添加“成人头像”的标识位;儿童空间的悬浮窗可添加“儿童头像”的标识位。
需要说明的是,主空间和儿童空间可以为相互独立的空间。其中,主空间为机主空间,也即,主空间内所显示的界面为终端的持有者所使用的界面,该而儿童空间所显示的界面为移动终端的持有者将终端交由儿童使用时,儿童所使用的界面,其中,儿童所使用的界面上只显示允许儿童使用的功能,避免显示不适合儿童使用的应用,例如游戏类应用或视频类应用等。相应的,在不同的显示空间,其显示界面上所显示的悬浮窗所对应的应用程序为该空间内的应用程序。
步骤406:根据所述显示空间删除所述冻结指令中目标应用程序的应用标识。
在不同的显示空间,均可设置各自空间的白名单。白名单为用户自定义的特权名单,也即,不管在什么情况下,均不对白名单内的应用程序进行冻结操作处理。其中,将主空间内设置的白名单称之为第一白名单,第一白名单内存储的应用程序可以为申请悬浮窗权限的应用程序,也可以为从申请悬浮窗权限的应用程序中筛选的应用程序。儿童空间内设置的白名单称之为第二白名单,第一白名单内存储的应用程序为家长自定义选择的申请悬浮窗权限的应用程序。第一白名单和第二白名单可以有重复的应用程序,也可以包括互不重复的应用程序。
若显示空间为主空间,当具有应用标识的应用程序显示悬浮窗,其目标应用程序为第一白名单的应用程序时,则从冻结指令中删除该目标应用程序的应用标识,也即,可以删除对目标应用程序的冻结指令,也即,可以删除对目标应用程序的冻结指令。相应的,若显示空间为儿童空间,当具有应用标识的应用程序显示悬浮窗,其目标应用程序为第二白名单的应用程序时,则从冻结指令中删除该目标应用程序的应用标识,也即,可以删除对目标应用程序的冻结指令。
上述方法,可以根据悬浮窗的悬浮窗参数来确定悬浮窗所在的显示空间,并根据显示空间从冻结指令中删除目标应用程序的应用标识,使不同显示空间的目标应用程序处于正常运行状态,避免悬浮窗发生卡死,提高用户体验度,同时,可以根据不同的显示空间,设定不同的处理机制,能够为不同类型的用户提供不同的删除冻结机制,提高用户体验度。
在一个实施例中,如图5所示,所述删除所述冻结指令中目标应用程序的应用标识,包括:
步骤502:获取所述悬浮窗显示的显示信息。
获取目标应用程序的悬浮窗所显示的显示信息,该显示信息包括目标应用程序的名称、图像、文字、功能等。例如,“健康运动”为目标应用程序时,其悬浮窗所显示的显示信息,悬浮窗显示的显示信息仅包括“健康运动”的名称,“运动步数”的数据和“卡路里”的数据,而“健康运动”这个目标应用程序的其他功能的数据则不显示在悬浮窗内。
步骤504:根据所述显示信息标识所述目标应用程序进程组中用于显示所述显示信息的进程。
一个应用程序(Application,简称APP,又称之为应用)的运行通常是由相关的多个进程的运行而体现的。进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。一般地,应用运行时对应有一进程组,进程组是一个或多个进程的集合,通常它们与一组作业相关联,进程组中包括为该应用服务的所有进程。比如,微信等即时通信类应用程序运行时,有微信主进程、接收消息通知的推送(push)进程、服务(service)进程等,这就构成一个进程组。每个进程都有唯一的进程号(PID),进程组则由进程组ID来标识,每个进程组都有唯一的进程组ID。
在操作***中,进程之间的交互机制主要分为同步机制和通信机制。其中,通信机制包括socket、binder、共享内存等。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Binder是一种进程间通信机制,提供远程过程调用功能。
根据悬浮窗显示的显示信息,可以获取显示信息所对应的目标应用程序的功能模块,根据该功能模块就可以获取该功能模块所对应的进程,并对该功能模块对对应的进程进行标识。
步骤506:删除对标识的进程的冻结信号,保留对其他进程的冻结信号。
需要对应用程序进行冻结操作时,需要向该应用程序的进程组发送用于冻结该进程组的冻结信号,对应的应用程序接收到冻结信号时,则该应用程序的所有进程不会再运行,此时,该应用程序处于冻结状态。
而在该实施例中,并不是对该应用程序的进程组的所用进程发送冻结信号,只向未标识的进程发送冻结信号,也即,在删除悬浮窗对应的应用程序的冻结指令的过程中,进一步的,仅删除悬浮窗所显示的功能所对应的进程的冻结信号,进而而保证其他部分功能处于冻结状态,从而达到降低功耗的效果。
在一个实施例中,如图6所示,应用程序冻结方法,包括:
步骤602:获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
步骤604:监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
步骤606:当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识;
步骤602、步骤604、步骤606与前述实施例中的步骤步骤302、步骤304、步骤306一一对应,再此不做进一步阐述。
步骤608:判断冻结指令所对应的应用程序是否有与所述目标应用程序存在关联关系的关联应用程序。
其中,关联关系可以理解目标应用程序的运行需要需要调用其他应用程序,或者,目标应用程序在运行的过程中需要与其他应用程序进行数据的交互,亦或是,通过目标应用程序调用的方式来启动其他应用程序。
例如,360手机卫士与“工具箱”之间的关联关系,因为360手机卫士调用“工具箱”才能实现360手机卫士的防骚扰功能。360手机卫士与“360拨号盘”之间的关联关系监控,因为进程“360拨号盘”仅被360手机卫士调用时才启动,即“360拨号盘”并没有被用户单独使用的场景。
当冻结指令中包括多个应用标识时,可以判断接收到冻结指令所对应的应用程序中是否存在与目标应用程序存在关联关系的关联应用程序,若存在,执行步骤610:则从所述冻结指令中删除所述关联应用程序的应用标识。
若目标应用程序与关联应用程序建立关联关系时,可以从所述冻结指令中删除所述关联应用程序的应用标识。,当目标应用程序需要调到关联应用程序时,不会因关联应用程序处于冻结状态而发生无法调用导致异常。
在一个实施例中,应用程序冻结方法,包括:
获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
当具有所述应用标识的应用程序未显示悬浮窗时,根据所述冻结指令对相应的应用程序的进程进行冻结。
也即,通过判断,当具有所述应用标识的应用程序未显示悬浮窗时,根据所述冻结指令对相应的应用程序的进程进行冻结。该冻结操作可以理解为遍历所保留的应用标识所对应的应用程序的进程组,并向该进程组发送冻结指令,对应的应用程序接收到冻结指令时,则该应用程序的进程不会再运行,此时,该应用程序处于冻结状态。
进一步地,在一个实施例中,如图7所示,对相应的应用程序的进程进行冻结,包括:
步骤702:获取所述冻结指令所对应的应用程序的历史使用频率。
根据具有应用标识的冻结指令可以获取需要冻结的应用程序,因此,可以获取该需要冻结的应用程序的历史使用频率。历史使用频率可以为7天为一个周期来统计,看过去7天时间内,使用的频率,其中,当该应用程序处于前台运行时,则认为该应用程序被用户使用,可以通过统计7天内该应用程序处于前台运行的次数。
步骤704:根据所述历史使用频率划分冻结等级;所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源。
根据历史使用频率来划分冻结等级。其中,冻结等级用于指示配置应用程序所能使用的最大允许资源。其中,所能使用的资源表示进程在被执行的各个时刻下,所能使用的资源。最大允许资源表示进程在各个时刻下允许被使用的最大资源。使用频率越低,其冻结等级也就越高,其冻结等级越高,其使用频率所能使用的最大允许资源也就越少。
终端中有多个处于运行状态的进程,进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。前台应用运行时涉及的进程即为前台进程,后台应用运行时涉及的进程即为后台进程。
终端可按照预设的频率或者根据检测到的用户操作指令来获取后台进程。可选地,可获取该后台进程的进程标识,进程标识用于唯一标识对应的进程,可由预设位数的数字、字母或者其他字符中的一种或几种的组合所构成。
具体的,根据历史使用频率可以将冻结等级分别划分为一级、二级、三级、四级,其中,最低级的冻结等级为一级,最高级的冻结等级为四级。
其中,上述的资源可包括CPU、I/O文件资源等。以资源为内存来举例说明。若后台进程执行时所需的内存为40Mb,若冻结等级为一级(最低级),则根据一级冻结等级给前台进行分配资源,应用程序所能使用的最大允许资源为30Mb;若冻结等级为四级(最高级),则根据一级冻结等级给后台进程进行分配资源,应用程序所能使用的最大允许资源为0Mb。其中,最高等级的冻结等级为完全冻结状态。
步骤706:根据所述冻结等级对所述应用程序进行相应等级的冻结。
根据历史使用频率可以获取相应的冻结等级,根据用户设定的冻结等级策略就可以实现对应用程序相应等级的冻结操作。
上述方法中,根据历史使用频率来设定冻结等级,从部分冻结到完全冻结需要一定的时间过程,给用户一个缓冲时间段,在这个时间段内,用户可以快速有效的解冻该应用程序,提高用户的体验度。同时,根根冻结等级限制应用程序所能使用的最大允许资源,也能合理分配资源,减小功耗。
在一个实施例中,所述获取具有应用标识的冻结指令前,还包括:
根据预设策略触发所述冻结指令;其中,所述预设策略包括时间策略、类型策略、环境策略、身份策略、资源分配以及自定义策略中的至少一个。
具体的,可以根据用户的需求在终端内自定义设置一些用于判断是否需要冻结应用程序的预设策略,这些预设策略包括时间策略、类型策略、环境策略、身份策略以及自定义策略中的至少一个。
例如,时间策略可以理解为可以根据应用程序在后台运行的时长或用户未开启应用程序的时长来设定;类型策略可以理解为根据应用程序的应用类型来设定,如同一类型的应用程序使用同一类型策略;环境策略可以理解为根据室内环境、室外环境、联网环境(信任环境还是非信任环境)等来设定;身份策略可以理解为根据不同的用户群来设定;自定义策略是指用户自己根据实际的需求/喜好在终端中自定义添加的预设策略。当终端满足设定的预设策略时,则触发相应的冻结指令。
在一个实施例中,如图8所示,提供了一种应用程序冻结装置,该装置包括:
接收模块810,用于获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听模块820,用于监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
删除模块830,用于当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;
冻结模块840,用于根据所述冻结指令中保留的应用标识对相应的应用程序进行冻结。
上述应用程序冻结装置,当获取具有应用标识的冻结指令,监听具有应用标识的应用程序是否在显示界面显示悬浮窗,当具有所述应用标识的应用程序显示悬浮窗时,删除所述冻结指令中目标应用程序的应用标识,进而不对目标应用程序的进行冻结,使目标应用程序处于正常运行状态,避免悬浮窗的正常显示出现卡死现象,提高用户体验度。
在一个实施例中,应用程序冻结装置还包括:
空间判断模块,用于获取所述悬浮窗的悬浮窗参数;根据所述悬浮窗参数确定所述悬浮窗所在的显示空间,所述显示空间包括主空间和儿童空间;根据所述显示空间删除所述冻结指令中目标应用程序的应用标识。
在一个实施例中,删除模块,包括:
显示获取单元,用于获取所述悬浮窗显示的显示信息;
进程识别单元,用于根据所述显示信息识别所述目标应用程序进程组中用于显示所述显示信息的进程;
删除单元,用于删除对标识的进程的冻结信号,保留对其他进程的冻结信号。
在一个实施例中,应用程序冻结装置,还包括:
判断模块,用于判断冻结指令所对应的应用程序是否有与所述目标应用程序存在关联关系的关联应用程序;若存在,则从所述冻结指令中删除所述关联应用程序的应用标识。
进一步的,冻结模块,包括:
频率获取单元,用于获取所述冻结指令所对应的应用程序的历史使用频率;
等级划分单元,用于根据所述历史使用频率划分冻结等级;所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源;
冻结单元,用于根据所述冻结等级对所述应用程序进行相应等级的冻结。
上述应用程序冻结装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用冻结装置按照需要划分为不同的模块,以完成上述应用冻结装置的全部或部分功能。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所提供的应用程序冻结方法的步骤。
在一个实施例中,提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例所提供的应用程序冻结方法的步骤。
本申请实施例还提供了一种计算机程序产品。一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各实施例所提供的应用程序冻结方法的步骤。
本申请实施例还提供了一种终端。如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以终端为手机为例:
图9为与本申请实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器980处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括操作面板931以及其他输入设备932。操作面板931,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在操作面板931上或在操作面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,操作面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现操作面板931。除了操作面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。在一个实施例中,操作面板931可覆盖显示面板941,当操作面板931检测到在其上或附近的触摸操作后,传送给处理器990以确定触摸事件的类型,随后处理器990根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,操作面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将操作面板931与显示面板941集成而实现手机的输入和输出功能。
手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路960、扬声器961和传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910可以发送给另一手机,或者将音频数据输出至存储器920以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机900的必须构成,可以根据需要而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监听。在一个实施例中,处理器980可包括一个或多个处理单元。在一个实施例中,处理器980可集成应用处理器和调制解调器,其中,应用处理器主要处理操作***、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器980中。比如,该处理器980可集成应用处理器和基带处理器,基带处理器与和其它***芯片等可组成调制解调器。手机900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理***与处理器980逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机900还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该手机所包括的处理器执行存储在存储器上的计算机程序时实现上述所描述的应用程序冻结方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种应用程序冻结方法,包括:
获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
当具有所述应用标识的应用程序显示悬浮窗时,获取所述悬浮窗的悬浮窗参数;
根据所述悬浮窗参数确定所述悬浮窗所在的显示空间,所述显示空间包括主空间和儿童空间,所述主空间和所述儿童空间分别设置不同的所述悬浮窗参数;
根据所述显示空间删除所述冻结指令中目标应用程序的应用标识;所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;
根据所述冻结指令中保留的应用标识,获取所述应用标识所对应的应用程序的历史使用频率;
根据所述历史使用频率划分冻结等级;所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源;
根据所述冻结等级对所述应用程序进行相应等级的冻结。
2.根据权利要求1所述的方法,其特征在于,所述删除所述冻结指令中目标应用程序的应用标识,包括:
获取所述悬浮窗显示的显示信息;
根据所述显示信息标识所述目标应用程序进程组中用于显示所述显示信息的进程;
删除对标识的进程的冻结信号,保留对其他进程的冻结信号。
3.根据权利要求1所述的方法,其特征在于,所述删除所述冻结指令中目标应用程序的应用标识后,还包括:
判断冻结指令所对应的应用程序是否有与所述目标应用程序存在关联关系的关联应用程序;
若存在,则从所述冻结指令中删除所述关联应用程序的应用标识。
4.根据权利要求1所述的方法,其特征在于,还包括:
当具有所述应用标识的应用程序未显示悬浮窗时,根据所述冻结指令对相应的应用程序的进程进行冻结。
5.根据权利要求1所述的方法,其特征在于,所述获取具有应用标识的冻结指令前,还包括:
根据预设策略触发所述冻结指令;
其中,所述预设策略包括时间策略、类型策略、网络环境策略、身份策略、资源分配以及自定义策略中的至少一个。
6.一种应用程序冻结装置,其特征在于,所述装置包括:
获取模块,用于获取具有应用标识的冻结指令;所述冻结指令用于冻结具有所述应用标识的应用程序;
监听模块,用于监听具有所述应用标识的应用程序是否在显示界面显示悬浮窗;
删除模块,用于当具有所述应用标识的应用程序显示悬浮窗时,获取所述悬浮窗的悬浮窗参数;根据所述悬浮窗参数确定所述悬浮窗所在的显示空间,所述显示空间包括主空间和儿童空间,所述主空间和所述儿童空间分别设置不同的所述悬浮窗参数;根据所述显示空间删除所述冻结指令中目标应用程序的应用标识;所述目标应用程序为具有所述应用标识且显示所述悬浮窗的应用程序;
冻结模块,用于根据所述冻结指令中保留的应用标识,获取所述应用标识所对应的应用程序的历史使用频率;根据所述历史使用频率划分冻结等级;所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源;根据所述冻结等级对所述应用程序进行相应等级的冻结。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
8.一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
CN201711489075.0A 2017-12-29 2017-12-29 应用程序冻结方法、装置、存储介质和终端 Active CN109992324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711489075.0A CN109992324B (zh) 2017-12-29 2017-12-29 应用程序冻结方法、装置、存储介质和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711489075.0A CN109992324B (zh) 2017-12-29 2017-12-29 应用程序冻结方法、装置、存储介质和终端

Publications (2)

Publication Number Publication Date
CN109992324A CN109992324A (zh) 2019-07-09
CN109992324B true CN109992324B (zh) 2022-11-04

Family

ID=67111060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711489075.0A Active CN109992324B (zh) 2017-12-29 2017-12-29 应用程序冻结方法、装置、存储介质和终端

Country Status (1)

Country Link
CN (1) CN109992324B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181515B (zh) * 2020-09-18 2024-05-24 Oppo(重庆)智能科技有限公司 应用程序控制方法、装置、终端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708629A (zh) * 2016-12-30 2017-05-24 深圳天珑无线科技有限公司 移动终端用户空间调整方法及装置
CN107239210A (zh) * 2017-06-27 2017-10-10 珠海市魅族科技有限公司 终端控制方法、装置、计算机装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166464B2 (en) * 2008-06-27 2012-04-24 Microsoft Corporation Analysis and detection of soft hang responsiveness program errors
CN101504658B (zh) * 2009-01-23 2011-09-28 北京搜狗科技发展有限公司 一种实现多标签应用程序中进行消息交互的方法及***
CN106293901B (zh) * 2015-05-22 2020-06-02 腾讯科技(深圳)有限公司 一种终端应用的进程管理方法及装置
CN106127037A (zh) * 2016-06-21 2016-11-16 依偎科技(南昌)有限公司 一种应用冻结处理的方法、装置以及终端
CN106778256A (zh) * 2016-11-28 2017-05-31 珠海市魅族科技有限公司 一种应用控制的方法及移动终端
CN107092414B (zh) * 2017-03-13 2023-08-18 宇龙计算机通信科技(深圳)有限公司 信息查看方法和信息查看装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708629A (zh) * 2016-12-30 2017-05-24 深圳天珑无线科技有限公司 移动终端用户空间调整方法及装置
CN107239210A (zh) * 2017-06-27 2017-10-10 珠海市魅族科技有限公司 终端控制方法、装置、计算机装置及存储介质

Also Published As

Publication number Publication date
CN109992324A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
EP3514684B1 (en) Memory recovery method and apparatus
CN107526640B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
US10379696B2 (en) Method and apparatus for displaying popup window message
CN109992398B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
US10956316B2 (en) Method and device for processing reclaimable memory pages, and storage medium
CN109992965B (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN109992364B (zh) 应用冻结方法、装置、计算机设备和计算机可读存储介质
CN108334345B (zh) 应用程序处理方法、装置、可读存储介质和移动终端
WO2019137173A1 (zh) 资源管理方法、移动终端及计算机可读存储介质
CN109992399B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN108632454B (zh) 信息处理方法和装置、计算机可读存储介质、终端
CN115668123A (zh) 一种音频资源分配方法、装置和电子设备
WO2020015571A1 (zh) 移动终端和应用程序后台运行的方法、装置
CN110032430B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
WO2019128569A1 (zh) 应用程序冻结方法、装置、存储介质和终端
CN110018886B (zh) 应用状态切换方法和装置、电子设备、可读存储介质
CN110032397B (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN109992360B (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN109992324B (zh) 应用程序冻结方法、装置、存储介质和终端
CN109992322B (zh) 应用程序卸载方法、装置、存储介质和终端
CN110008007B (zh) 应用程序冻结方法、装置、存储介质和终端
CN109992395B (zh) 应用冻结方法、装置、终端及计算机可读存储介质
CN109992362B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110045811B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN114217685A (zh) 应用管理方法、智能终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant