CN110018885B - 应用程序冻结方法、装置、存储介质和终端 - Google Patents
应用程序冻结方法、装置、存储介质和终端 Download PDFInfo
- Publication number
- CN110018885B CN110018885B CN201711488981.9A CN201711488981A CN110018885B CN 110018885 B CN110018885 B CN 110018885B CN 201711488981 A CN201711488981 A CN 201711488981A CN 110018885 B CN110018885 B CN 110018885B
- Authority
- CN
- China
- Prior art keywords
- freezing
- application program
- preset
- application
- coefficient
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及一种应用程序冻结方法、装置、存储介质和终端。该方法包括:按照预设周期查询应用程序在后台持有唤醒锁的时长;获取应用程序的预设冻结系数;根据应用程序持有唤醒锁的时长调整预设冻结系数以获得实时冻结系数;当实时冻结系数大于预设阈值时,冻结应用程序。该方法可以根据应用程序持有唤醒锁的时长来调整预设冻结系数以获得实时冻结系数,当实时冻结系数大于预设阈值时,对后台运行的应用程序进行冻结操作,使其不能在后台运行,释放系统资源、节省功耗。
Description
技术领域
本申请涉及终端技术领域,特别是涉及一种应用程序冻结方法、装置、存储介质和终端。
背景技术
随着终端设备进入智能时代,大屏幕(尤其是触摸屏)的终端设备越来越普及,终端设备上安装的应用程序(application,简称app)越来越多。为了保证应用程序在后台的正常运行,终端的操作系统提供了唤醒锁(wakelock),当应用程序持有唤醒锁时,操作系统不会进入待机状态。有些应用存在不合理持有唤醒锁的情况,对于这类应用程序,持有唤醒锁的时间越长,就越增加终端的功耗,还会过多占用系统资源。
发明内容
本申请实施例提供一种应用程序冻结方法、装置、存储介质和终端,可以节省功耗、提高用户体验度。
一种应用程序冻结方法,包括:
按照预设周期查询应用程序在后台持有唤醒锁的时长;
调用预设冻结系数表以获取所述应用程序的预设冻结系数;
根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;
当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
一种应用程序冻结装置,所述装置包括:
查询模块,用于按照预设周期查询应用程序在后台持有唤醒锁的时长;
获取模块,用于调用预设冻结系数表以获取所述应用程序的预设冻结系数;
调整模块,用于根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;
冻结模块,用于当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请各个实施例中的应用程序冻结方法的步骤。
一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请各个实施例中的应用程序冻结的步骤。
本申请实施例提供的应用程序冻结方法和装置、存储介质和终端,按照预设周期查询应用程序持有唤醒锁的时长;获取每个应用程序的预设冻结系数;根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;当所述实时冻结系数大于预设阈值时,冻结所述应用程序上述可以根据应用程序持有唤醒锁的时长来调整预设冻结系数以获得实时冻结系数,当实时冻结系数大于预设阈值时,对后台运行的应用程序进行冻结操作,使其不能在后台运行,释放系统资源、节省功耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中终端的内部结构示意图;
图2为一个实施例中终端中的系统的部分框架示意图;
图3为一个实施例中应用程序冻结方法的流程图;
图4为另一个实施例中应用程序冻结方法的流程图;
图5为一个实施例中根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得冻结系数的流程图;
图6为又一个实施例中应用程序冻结方法的流程图;
图7为一个实施例中判断所述应用程序是否满足预设条件的流程图;
图8为一个实施例中冻结所述应用程序的流程图;
图9为一个实施例中应用程序冻结装置的结构框图;
图10为一个实施例中手机的部分结构的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一被依赖进程称为第二被依赖进程,且类似地,可将第二被依赖进程称为第一被依赖进程。第一被依赖进程和第二被依赖进程两者都是被依赖进程,但其不是同一被依赖进程。
在一个实施例中,如图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:按照预设周期查询应用程序在后台持有唤醒锁的时长。
终端当前的显示界面展示的应用程序的操作页面对应的应用程序为终端当前运行的前台应用,在后台运行的应用程序为应用程序。
唤醒锁是一种控制主机设备电源状态的软件机制,操作系统可导出明确的电源管理句柄和API,以指定某个组件何时需要保持开启或唤醒状态,直至其从任务中被明确释放。其中,只要有资源占用这个唤醒锁锁,系统就无法进行休眠,可以被应用程序或内核获得。唤醒锁的类型可以有多种,根据唤醒锁类型的不同,可以控制CPU运行与停止,可以控制屏幕背光的开启与关闭,键盘背光的开启与关闭,以达到节能的目的。
Android架构通过PowerManager导出唤醒锁机制。唤醒锁可划分为并识别四种用户唤醒锁:
唤醒锁是一个申请/释放机制,当应用需要让一些组件保持开启状态时,它便会申请唤醒锁唤醒终端以执行相关任务;当不再需要这些组件处于开启状态时,则需要将唤醒锁释放。
当应用程序申请唤醒锁和释放唤醒锁时,操作系统会收到通知。因此操作系统可以通过调用应用程序申请唤醒锁的时刻和调用应用程序释放唤醒锁的时刻,就可以记录应用程序在后台持有唤醒锁的时间。例如,操作系统可以通过监控/sys/power/wake_lock文件的内容(需要根访问),就可以了解CPU资源何时启用了唤醒锁,以及哪种服务启用了唤醒锁。操作系统会周期性的查询所有应用程序持有唤醒锁的时长,该时长可以为该应用程序从开始持有唤醒锁的时刻到当前时刻的时间间隔。
需要说明的是,应用程序的数量可以为一个,也可以为多个。
步骤304:获取每个应用程序的预设冻结系数。
终端内安装的应用程序多种多样,每个应用有一个预设冻结系数,每个应用程序的冻结系数可以相同也可以不相同。预设冻结系数,可以用于表征该应用程序需要被冻结的期望,预设冻结系数越大,该期望也就越高。当应用程序在后台持有唤醒锁时,可以调用该预设冻结系数表,获取该应用程序的预设冻结系数。
预设冻结系数存储在预设冻结系数表中,预设冻结系数表中存储有应用程序与预设冻结系数的映射关系。预设冻结系数表中的映射关系可以根据预设条件进行设置,其中,预设冻结系数的设定可以根据应用程序的运行频率、运行时长、应用程序的资源占有率等条件进行设置。
需要说明的是,预设冻结系数表可以为系统默认设置,也可以根据用户需求来设定。根据不同的预设条件,可以设置多个预设冻结系数表,每个冻结系数表对应一种预设条件。
步骤306:根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数。
根据前述步骤获取的应用程序持有唤醒锁的时长,以及应用程序对应的预设冻结系数,来调整预设冻结系数。每个应用程序在后台持有唤醒锁的时长有所差异,同时,每个应用程序的预设冻结系数也会有所不同,可以根据应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数,预设冻结系数会随着持有唤醒锁的时长的增加而增加,以获取实时冻结系数。
步骤308:当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
应用程序长时间持有唤醒锁是该应用程序一直处于后台运行状态就会占用一定的资源,也会影响终端的总体功耗,当获取的实时冻结系数达到一定数值,也即,当时冻结系数大于预设阈值时,对后台运行的应用程序进行冻结操作,使其不能在后台运行,释放系统资源、节省功耗。
上述应用程序冻结方法,按照预设周期查询应用程序持有唤醒锁的时长;获取每个应用程序的预设冻结系数;根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;当所述实时冻结系数大于预设阈值时,冻结所述应用程序。可以根据应用程序持有唤醒锁的时长来调整预设冻结系数以获得实时冻结系数,当实时冻结系数大于预设阈值时,对后台运行的应用程序进行冻结操作,使其不能在后台运行,释放系统资源、节省功耗。
在一个实施例中,如图4所示,获取每个应用程序的预设冻结系数前,包括:
步骤402:获取应用程序的资源占用率或运行频率;
资源占用率可以为CPU占用率或内存占用率。CPU占用率指运行的应用程序占用的CPU资源,表示终端在某个时间点的运行程序的情况。内存占用率内指的是应用程序所有进程所开销的内存。进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
具体地,终端可以统计应用程序在预设周期的资源占用率的最大值作为该资源占用率,或者,终端在预设周期内采集各个应用程序的瞬间资源占用率,根据采集的多个瞬间资源占用率获取资源占用率平均值,将该获取的资源占用率的平均值作为该应用程序的资源占用率。当然,终端也可以采用其他方法来统计应用程序的资源占用率,在此不做进一步的限定。
终端可以统计在预设周期内应用程序在前台运行的启动次数,将该启动次数作为该应用程序的运行频率。
步骤404:根据所述资源占用率或运行频率设置对应的应用程序的预设冻结系数。
具体地,可以根据资源占用率设置每个应用程序的预设冻结系数,其中,资源占用率越高,当该应用程序在后台运行时,就极有可能造成卡顿,影响终端的流畅性,为了避免出现卡顿现象的发生,用户对资源占用率高的应用程序的冻结期望更高,可以将其对应的预设冻结系数的数值设置大些。也即,应用程序的资源占用率越高,其对应的预设冻结系数也就越大。根据应用程序的资源占用率与预设冻结系数之间的对应关系,形成该预设冻结系数表。
可选的,还可以根据应用程序的运行频率来设置相应的预设冻结系数。运行频率高,表明该应用程序被用户使用的次数多;运行频率低,表明该应用程序不经常被用户所使用。也即,用户对运行频率低的应用程序的冻结期望更高,可以将其对应的预设冻结系数的数值设置大些。也即,应用程序的运行频率越低,其对应的预设冻结系数也就越大。根据应用程序的运行频率与预设冻结系数之间的对应关系,也能够形成该预设冻结系数表。
当然,用户还可以根据运行时长、网络使用情况、环境信息等来设置预设冻结列表,在此,不做进一步的限定。
在一个实施例中,如图5所示,所述根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得冻结系数,包括:
步骤502:在所述预设周期内获取所述应用程序在前台运行的运行时长。
终端可以统计在预设周期内应用程序在前台运行的启动次数,以及每一次启动后的单次运行时长。应用程序在前台运行的运行时长为在预设周期内应用程序的每次启动后单次运行时长的总和,也即,为在预设周期内应用程序的累积运行时长。
步骤504:根据所述运行时长和持有唤醒锁的时长确定冻结权重因子。
根据运行时长和持有唤醒锁的时长,就可以知晓,在预设周期内用户使用该应用程序的使用情况。在预设周期内,通过运行时长和持有唤醒锁的时长就可以确定冻结权重因子,冻结权重因子用于调整预设冻结系数,以获取实时冻结系数。
进一步的,所述根据所述运行时长和持有唤醒锁的时长确定冻结权重因子,包括:计算所述运行时长和所述持有唤醒锁的时长的比值;在预设权重表中查找与所述比值对应的冻结权重因子。
具体的,通过计算持有唤醒锁的时长与运行时长的比值K,根据比值K的大小来确定权重因子。通过调用预设权重表来查找与该比值K相对应的冻结权重因子。预设权重表中,其比值K越大,其对应的的冻结权重因子也就越大。若比值K越大,则可以认为该应用程序的持有唤醒锁的时长相对于运行时长而言,持有唤醒锁的时长要远大于运行时长,此时,可以认为该应用程序不是用户经常使用的应用程序,用户冻结该应用程序的期望比较大。若比值K小于1,则可以认为该应用程序为用户经常使用的应用程序,用户冻结该应用程序的期望比较小。
可选的,还可以通过计算持有唤醒锁的时长与运行时长的差值,根据该差值来确定冻结权重因子。
需要说明的是,预设权重表可以为系统默认设置,也可以根据用户需求来设定。用户可以根据自己的需求来调整比值K与冻结权重因子之间的对应关系。
步骤506:根据所述冻结权重因子、预设冻结系数确定所述实时冻结系数。
根据应用程序的运行时长和持有唤醒锁的时长可以确定冻结权重因子,根据获取的权重因子来调节预设冻结系数进而获取实时冻结系数。其中,实时冻结系数为预设冻结系数与冻结权重因子的和值。也即:
实时冻结系数=预设冻结系数+冻结权重因子。
例如,对于工具类(计算器、备忘录、日历等系统工具)用户不经常使用的应用程序,其运行时长比较短,但是持有唤醒锁的可能较长;而对于及时通讯类(微信、QQ等应用程序)用户经常使用的应用程序,其运行时长比较长,其持有唤醒锁的时间也比较长。若仅仅通过应用程序持有唤醒锁的时长来调整预设冻结系数,其调整准确度较低。通过综合考虑运行时长和持有唤醒锁的时长,从多个维度的影响因素来确定冻结权重因子,可以提高计算实时冻结系数的精度。
在一个实施例中,如图6所示,应用程序冻结方法,包括:
步骤602:按照预设周期查询应用程序在后台持有唤醒锁的时长。
步骤604:获取所述应用程序的预设冻结系数。
步骤606:根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数。
上述步骤602、步骤604、步骤606与前述实施例中的步骤步骤302、步骤304、步骤306一一对应,在次不再赘述。
步骤608:当所述实时冻结系数大于预设阈值时,判断所述应用程序是否满足预设条件。
步骤610:当满足所述预设条件时,冻结所述应用程序。
当实时冻结系数大于预设阈值时,进而判断该应用程序是否满足预设条件,当应用程序满足预设条件时,则冻结该应用程序。通过设置预设条件,可以避免冻结正在后台运行的音频播放、下载等应用程序,避免影响的用户正常使用。
进一步的,在一个实施例中,如图7所示,所述预设条件包括预设应用场景和白名单,其中,预设应用场景可以为音频播放、下载等重要场景,中断后会影响用户体验。
判断所述应用程序是否满足预设条件,包括:
步骤702:确定所述应用程序应用场景,将所述应用程序的应用场景与所述预设场景进行对比。
应用程序在前台运行或者后台运行期间通过调用安卓系统的接口,来确定应用程序的应用场景,例如微信、qq消息推送等等。
用户可以根据需求,自定义设置预设应用场景,例如音频播放、数据传输(上传、下载)、消息推送等应用场景,若应用程序的应用场景为预设应用场景时,若冻结该应用程序就会影响用户体验。
步骤704:当所应用程序的应用场景与所述预设场景相同时,判断所述应用程序是否保存在所述白名单中。
当应用程序的应用场景与预设应用场景相同时,则判断该应用程序是否保存在所述白名单中。白名单中的应用程序是不允许冻结的应用程序。
步骤706:若未保存在所白名单中,则所述应用程序满足所述预设条件。
例如,若应用程序为淘宝、京东的购物类应用程序,其这类应用程序也会有消息推送的应用场景,但是,若淘宝、京东的购物类应用程序未保存在白名单中,只有微信、QQ保存在白名单中。也即,应用程序为淘宝、京东的购物类应用程序满足预设条件,可以对其进行冻结处理。
若应用程序为微信、QQ,则该应用程序不满足预设条件,就不对其进行冻结处理。
通过设置预设条件,可以避免冻结正在后台运行的音频播放、下载等保存在白名单的应用程序,避免影响的用户正常使用。
在一个实施例中,如图8所示,冻结所述应用程序,包括:
步骤802:获取所述应用程序的应用标识。
每个应用程序都会有唯一的应用标识,应用标识用于唯一标识对应的应用程序。应用标识可由预设位数的数字、字母或者其他字符中的一种或几种的组合所构成。
步骤804:在预设数据库中获取具有所述应用标识的应用程序的冻结等级。
在预设数据库中存储有每个应用程序的冻结等级,冻结等级用于指示配置所述应用程序所能使用的最大允许资源。其中,所能使用的资源表示进程在被执行的各个时刻下,所能使用的资源。最大允许资源表示进程在各个时刻下允许被使用的最大资源。终端中有多个处于运行状态的进程,进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。终端可按照预设的频率或者根据检测到的用户操作指令来获取后台进程。
若终端的每个应用程序需要被冻结时,应用程序从预设数据库中获取相应的冻结等级。用户可以自己的需求来为各个应用程序配置的相应的冻结等级。
具体的,应用程序的冻结等级可以划分为一级、二级、三级、四级,其中,最低级的冻结等级为一级,最高级的冻结等级为四级。
其中,上述的资源可包括CPU、I/O文件资源等。以资源为内存来举例说明。若后台进程执行时所需的内存为40Mb,若冻结等级为一级(最低级),则根据一级冻结等级给后台进程分配资源,应用程序所能使用的最大允许资源为30Mb;若冻结等级为四级(最高级),则根据四级冻结等级给后台进程进行分配资源,应用程序所能使用的最大允许资源为0Mb。其中,最高等级的冻结等级为完全冻结状态。
步骤806:根据所述冻结等级对所述应用程序进行相应等级的冻结。
根据应用程序所配置的冻结等级对该应用程序进行冻结处理。本实施例中,由于应用程序的冻结等级不同,可以根据各个应用程序来进行不同程度的冻结操作,而不是使所有满足预设条件的应用程序处于完全冻结状态,可以使应用程序处于未完全冻结状态,便于用户后续可以快速有效的解冻该应用程序,提高用户的体验度。同时,根根冻结等级限制应用程序所能使用的最大允许资源,也能合理分配资源,减小功耗。
在一个实施例中,如图9所示,提供了一种应用程序冻结装置,该装置包括:
查询模块910,用于按照预设周期查询应用程序在后台持有唤醒锁的时长;
获取模块920,用于获取所述应用程序的预设冻结系数;
调整模块930,用于根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;
冻结模块940,用于当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
上述应用程序冻结装置,查询模块910能够按照预设周期查询应用程序持有唤醒锁的时长;获取模块920能够获取每个应用程序的预设冻结系数;调整模块930根据所述应用程序持有唤醒锁的时长调整所述预设冻结系数以获得实时冻结系数;当所述实时冻结系数大于预设阈值时,冻结模块940冻结所述应用程序。应用程序冻结装置可以根据应用程序持有唤醒锁的时长来调整预设冻结系数以获得实时冻结系数,当实时冻结系数大于预设阈值时,对后台运行的应用程序进行冻结操作,使其不能在后台运行,释放系统资源、节省功耗。
在一个实施例中,调整模块,包括:
第一获取单元,用于在所述预设周期内获取所述应用程序在前台运行的运行时长;
第一确定单元,用于根据所述运行时长和持有唤醒锁的时长确定冻结权重因子;第一确定单元还用于计算所述运行时长和所述持有唤醒锁的时长的比值;在预设权重表中查找与所述比值对应的冻结权重因子;
第二确定单元,用于根据所述冻结权重因子、预设冻结系数确定所述实时冻结系数。
在一个实施例中,应用程序冻结装置,还包括:
系数设置模块,用于获取应用程序的资源占用率或运行频率;根据所述资源占用率或运行频率设置对应的应用程序的预设冻结系数。
在一个实施例中,应用程序冻结装置,还包括:
判断模块,用于判断所述应用程序是否满足预设条件;当满足所述预设条件时,冻结所述应用程序。
进一步的,所述预设条件包括预设应用场景和白名单,判断模块还用于确定所述应用程序的应用场景,将所述应用程序的应用场景与所述预设场景进行对比;当所应用程序的应用场景与所述预设场景不相同时,判断所述应用程序是否保存在所述白名单中;若未保存在所白名单中,则所述应用程序满足所述预设条件。
在一个实施例中,冻结模块包括:
标识获取单元,用于获取所述应用程序的应用标识;
等级确定单元,用于在预设数据库中获取具有所述应用标识的应用程序的冻结等级,所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源;
冻结单元,用于根据所述冻结等级对所述应用程序进行相应等级的冻结。
上述应用程序冻结装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用程序冻结装置按照需要划分为不同的模块,以完成上述应用程序冻结装置的全部或部分功能。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所提供的应用程序冻结方法的步骤。
在一个实施例中,提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例所提供的应用程序冻结方法的步骤。
本申请实施例还提供了一种计算机程序产品。一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各实施例所提供的应用程序冻结方法的步骤。
本申请实施例还提供了一种终端。如图10所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以终端为手机为例:
图10为与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路1010可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1080处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(WidebandCodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机1000的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括操作面板1031以及其他输入设备1032。操作面板1031,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在操作面板1031上或在操作面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,操作面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现操作面板1031。除了操作面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置显示面板1041。在一个实施例中,操作面板1031可覆盖显示面板1041,当操作面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,操作面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将操作面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路1060、扬声器1061和传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010可以发送给另一手机,或者将音频数据输出至存储器1020以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机1000的必须构成,可以根据需要而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监听。在一个实施例中,处理器1080可包括一个或多个处理单元。在一个实施例中,处理器1080可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1080中。比如,该处理器1080可集成应用处理器和基带处理器,基带处理器与和其它外围芯片等可组成调制解调器。手机1000还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1090逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机1000还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该手机所包括的处理器执行存储在存储器上的计算机程序时实现上述所描述的应用程序冻结方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(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 (9)
1.一种应用程序冻结方法,包括:
按照预设周期查询应用程序在后台持有唤醒锁的时长;
获取所述应用程序的预设冻结系数;所述预设冻结系数用于表征所述应用程序需要被冻结的期望;
在所述预设周期内获取所述应用程序在前台运行的运行时长;
根据所述运行时长和持有唤醒锁的时长确定冻结权重因子;
根据所述冻结权重因子、预设冻结系数确定实时冻结系数;
当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述运行时长和持有唤醒锁的时长确定冻结权重因子,包括:
计算所述运行时长和所述持有唤醒锁的时长的比值;
在预设权重表中查找与所述比值对应的冻结权重因子。
3.根据权利要求1所述的方法,其特征在于,所述获取所述应用程序的预设冻结系数前,包括:
获取应用程序的资源占用率或运行频率;
根据所述资源占用率或运行频率设置对应的应用程序的预设冻结系数。
4.根据权利要求1所述的方法,其特征在于,所述冻结所述应用程序前,还包括:
判断所述应用程序是否满足预设条件;
当满足所述预设条件时,冻结所述应用程序。
5.根据权利要求4所述的方法,其特征在于,还包括:所述预设条件包括预设应用场景和白名单,判断所述应用程序是否满足预设条件:
确定所述应用程序的应用场景,将所述应用程序的应用场景与预设场景进行对比;
当所应用程序的应用场景与所述预设场景相同时,判断所述应用程序是否保存在所述白名单中;
若未保存在所白名单中,则所述应用程序满足所述预设条件。
6.根据权利要求1所述的方法,其特征在于,所述冻结所应用程序,包括:
获取所述应用程序的应用标识;
在预设数据库中获取具有所述应用标识的应用程序的冻结等级,所述冻结等级用于指示配置所述应用程序所能使用的最大允许资源;
根据所述冻结等级对所述应用程序进行相应等级的冻结。
7.一种应用程序冻结装置,其特征在于,所述装置包括:
查询模块,用于按照预设周期查询应用程序在后台持有唤醒锁的时长;
获取模块,用于获取所述应用程序的预设冻结系数;所述预设冻结系数用于表征所述应用程序需要被冻结的期望;
调整模块,用于在所述预设周期内获取所述应用程序在前台运行的运行时长;根据所述运行时长和持有唤醒锁的时长确定冻结权重因子;根据所述冻结权重因子、预设冻结系数确定实时冻结系数;
冻结模块,用于当所述实时冻结系数大于预设阈值时,冻结所述应用程序。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
9.一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488981.9A CN110018885B (zh) | 2017-12-29 | 2017-12-29 | 应用程序冻结方法、装置、存储介质和终端 |
PCT/CN2018/116925 WO2019128569A1 (zh) | 2017-12-29 | 2018-11-22 | 应用程序冻结方法、装置、存储介质和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488981.9A CN110018885B (zh) | 2017-12-29 | 2017-12-29 | 应用程序冻结方法、装置、存储介质和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110018885A CN110018885A (zh) | 2019-07-16 |
CN110018885B true CN110018885B (zh) | 2021-06-01 |
Family
ID=67065072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711488981.9A Active CN110018885B (zh) | 2017-12-29 | 2017-12-29 | 应用程序冻结方法、装置、存储介质和终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110018885B (zh) |
WO (1) | WO2019128569A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732434A (zh) * | 2019-10-28 | 2021-04-30 | 华为终端有限公司 | 一种应用管理方法及装置 |
CN114153621B (zh) * | 2022-02-09 | 2022-06-07 | 荣耀终端有限公司 | 系统进程调控方法、装置、电子设备及可读存储介质 |
CN115981812A (zh) * | 2022-12-19 | 2023-04-18 | 广州文石信息科技有限公司 | 应用程序管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8132171B2 (en) * | 2006-12-22 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Method of controlling thread access to a synchronization object |
CN106095419A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 唤醒锁释放方法及装置 |
WO2017206877A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种唤醒锁的释放方法、装置、存储介质及电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324519A (zh) * | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种恶意耗电应用的清理方法、装置及用户终端 |
US9229522B1 (en) * | 2013-08-27 | 2016-01-05 | Symantec Corporation | Mobile battery performance by identifying apps that disproportionally run background tasks that prevent mobile devices from sleeping |
US20150160968A1 (en) * | 2013-12-11 | 2015-06-11 | Metratech Corp. | Freezing a call stack |
CN104156053B (zh) * | 2014-07-29 | 2015-12-30 | 努比亚技术有限公司 | 一种异常耗电的控制方法、装置和移动终端 |
CN104360885A (zh) * | 2014-11-18 | 2015-02-18 | 深圳市中兴移动通信有限公司 | 一种启动控制方法、装置及终端 |
CN105867581A (zh) * | 2015-12-16 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 一种实现功耗优化的方法、装置及移动终端 |
CN105468426A (zh) * | 2016-01-05 | 2016-04-06 | 珠海市魅族科技有限公司 | 一种应用冻结的方法及终端 |
CN106020415B (zh) * | 2016-05-09 | 2019-01-29 | 深圳市万普拉斯科技有限公司 | 智能设备待机状态下的应用控制方法及装置 |
CN106020964A (zh) * | 2016-06-30 | 2016-10-12 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用冻结的方法、装置以及终端 |
CN106959874B (zh) * | 2017-03-21 | 2019-11-26 | 联想(北京)有限公司 | 基于操作系统的应用管理方法及应用该方法的电子设备 |
CN107402809A (zh) * | 2017-07-31 | 2017-11-28 | 广东欧珀移动通信有限公司 | 应用程序的管控方法、装置、存储介质及电子设备 |
-
2017
- 2017-12-29 CN CN201711488981.9A patent/CN110018885B/zh active Active
-
2018
- 2018-11-22 WO PCT/CN2018/116925 patent/WO2019128569A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8132171B2 (en) * | 2006-12-22 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Method of controlling thread access to a synchronization object |
CN106095419A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 唤醒锁释放方法及装置 |
WO2017206877A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种唤醒锁的释放方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019128569A1 (zh) | 2019-07-04 |
CN110018885A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3514684B1 (en) | Memory recovery method and apparatus | |
CN109992398B (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
US10956316B2 (en) | Method and device for processing reclaimable memory pages, and storage medium | |
CN110018901B (zh) | 内存回收方法、装置、计算机设备和计算机可读存储介质 | |
CN109144232B (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN110018902B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
CN110032266B (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN109992399B (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
CN112703714A (zh) | 应用程序处理方法和装置、计算机设备、计算机可读存储介质 | |
CN109992364B (zh) | 应用冻结方法、装置、计算机设备和计算机可读存储介质 | |
CN110018885B (zh) | 应用程序冻结方法、装置、存储介质和终端 | |
CN109992425B (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN109992375B (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN110046032A (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN110018886B (zh) | 应用状态切换方法和装置、电子设备、可读存储介质 | |
CN109992360B (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN109992309B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN110032430B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN110008007B (zh) | 应用程序冻结方法、装置、存储介质和终端 | |
CN109375995B (zh) | 应用冻结方法和装置、存储介质、电子设备 | |
CN109992395B (zh) | 应用冻结方法、装置、终端及计算机可读存储介质 | |
CN109511139B (zh) | Wifi控制方法、装置、移动设备、计算机可读存储介质 | |
CN110045811B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN109992369B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN109992322B (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 |