CN110515736B - 限制后台对象的方法、装置、终端及存储介质 - Google Patents

限制后台对象的方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110515736B
CN110515736B CN201910807764.4A CN201910807764A CN110515736B CN 110515736 B CN110515736 B CN 110515736B CN 201910807764 A CN201910807764 A CN 201910807764A CN 110515736 B CN110515736 B CN 110515736B
Authority
CN
China
Prior art keywords
background
terminal
running
foreground
policy
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
CN201910807764.4A
Other languages
English (en)
Other versions
CN110515736A (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 CN201910807764.4A priority Critical patent/CN110515736B/zh
Publication of CN110515736A publication Critical patent/CN110515736A/zh
Application granted granted Critical
Publication of CN110515736B publication Critical patent/CN110515736B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例公开了一种限制后台对象的方法、装置、终端及存储介质,属于计算机技术领域,能够在预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,随后终端能够根据后台对象标识获取对应的对象限制策略,并根据对象限制策略,对后台运行的对象进行限制。由于本申请实施例能够在前台对象在预定时段内再次发生卡顿事件时,获取后台对象标识,并查找到对应的对象限制策略对后台运行的对象进行限制,使得终端能够有效应对现有资源管理操作无法一次性为前台对象提供足够的资源的问题,在保障后台运行的对象得到适当处理的前提下,提高了终端为前台对象提供资源的能力,保障了前台对象的顺畅运行。

Description

限制后台对象的方法、装置、终端及存储介质
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种限制后台对象的方法、装置、终端及存储介质。
背景技术
移动终端在运行过程中,能够在前台运行一个对象,并同时在后台运行其他的对象。其中,该对象在不同的粒度上,既可以是一个进程,也可以是一个应用。
在一种可能的应用方式中,当移动终端在前台运行的对象发生卡顿时,终端将释放部分后台运行的对象占用的资源,以使前台运行的终端能够获得更多的资源,缓解卡顿现象。
发明内容
本申请实施例提供了一种限制后台对象的方法、装置、终端及存储介质。
所述技术方案如下:
根据本申请的一方面内容,提供了一种限制后台对象的方法,所述方法包括:
当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,所述后台对象标识是所述终端当前后台运行的对象的标识,所述预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段;
根据所述后台对象标识,获取对应的对象限制策略;
根据所述对象限制策略,对所述后台运行的对象进行限制。
根据本申请的另一方面内容,提供了一种限制后台对象的装置,应用于终端中,所述装置包括:
标识获取模块,用于当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,所述后台对象标识是所述终端当前后台运行的对象的标识,所述预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段;
策略获取模块,用于根据所述后台对象标识,获取对应的对象限制策略;
对象限制模块,用于根据所述对象限制策略,对所述后台运行的对象进行限制。
根据本申请的另一方面内容,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施提供的限制后台对象的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施提供的限制后台对象的方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
令终端能够在预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,终端能够根据后台对象标识获取对应的对象限制策略,并根据对象限制策略,对后台运行的对象进行限制。由于本申请实施例能够在前台对象在预定时段内再次发生卡顿事件时,获取后台对象标识,并查找到对应的对象限制策略对后台运行的对象进行限制,使得终端能够有效应对现有资源管理操作无法一次性为前台对象提供足够的资源的问题,在保障后台运行的对象得到适当处理的前提下,提高了终端为前台对象提供资源的能力,保障了前台对象的顺畅运行。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的终端的结构框图;
图2是本申请一个示例性实施例提供的一种限制后台对象的方法的流程图;
图3是本申请另一个示例性实施例提供的另一种限制后台对象的方法流程图;
图4是本申请一个示例性实施例提供的限制后台对象的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联的对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联的对象是一种“或”的关系。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
后台对象:用于指示应用在终端的后台的对象。在本申请实施例中,对象可以是应用、服务、进程或者线程中的一种。该后台对象在运行时将占用终端中的部分资源,例如处理器(英文:Central Processing Unit,缩写:CPU)资源、内存资源、磁盘资源、网络资源或读写资源中的至少一种。
可选地,后台对象也可以调用输出组件输出信息。比如,后台对象能够调用扬声器或者外接耳机等设备输出声音。再比如,后台对象还能够在屏幕中显示浮窗、浮标或对话框等可视的内容。
后台对象标识:是用于指示后台对象的标识,该标识在终端中具有唯一性。该后台对象标识是终端当前后台运行的对象的标识。
在一种可能的实现方式中,该标识可以是UID(英文:User Identification,中文:用户身份证明)。在另一种可能的实现方式中,该标识可以是应用的安装包名。
卡顿事件:用于指示目标对象中由于资源不足导致的事件。其中,目标对象可以包括前台对象以及后台对象。卡顿事件可以在操作系统中进行预先的定义,当目标对象占用的资源低于目标资源阈值时,确定目标对象发生卡顿事件。其中,资源可以包括例如处理器资源、内存资源、磁盘资源、网络资源或读写资源中的至少一种。其中,处理器资源包括处理器核心数目、核心类型或占用率中至少一种。
在一种可能的方式中,卡顿事件与目标对象具有关联性。不同的目标对象需要占用的资源数量不同,也即发生卡顿的阈值不同。例如,目标对象是前台对象,该前台对象是A应用,A应用在CPU占用时间超过500毫秒时触发卡顿事件。与此同时,当目标应用是后台对象,该后台对象是B应用,B应用占用时间超过200毫秒时触发卡顿事件。
对象限制策略:用于指示限制后台对象的操作和相应的触发条件。在一种可能的实现方式中,触发条件是立即执行,限制后台对象的操作包括至少一种操作。在另一种可能的实现方式中,触发条件还可以是时间维度上的条件。
示例性地,本申请实施例所示的限制后台对象的方法,可以应用在终端中,该终端具备显示屏且具备限制后台对象的功能。终端可以包括手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放终端、MP5播放终端、学习机、点读机、电纸书、电子词典、车载终端、虚拟现实(英文:VirtualReality,缩写:VR)播放终端或增强现实(英文:Augmented Reality,缩写:AR)播放终端等。
请参考图1,图1是本申请一个示例性实施例提供的终端的结构框图,如图1所示,该终端包括处理器120和存储器140,所述存储器140中存储有至少一条指令,所述指令由所述处理器120加载并执行以实现如本申请各个方法实施例所述的限制后台对象的方法。
在本申请中,终端100是具备应用管理功能的电子设备。当终端100中的前台对象在预定时段内再次发生卡顿事件时,终端100能够获取后台对象标识,其中,后台对象标识是终端当前后台运行的对象的标识,预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段;终端根据后台对象标识,获取对应的对象限制策略,并能够根据对象限制策略,对后台运行的对象进行限制。
处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行终端100的各种功能和处理数据。可选的,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。
存储器140可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
请参考图2,图2是本申请一个示例性实施例提供的限制后台对象的方法的流程图。该限制后台对象的方法可以应用在上述图1所示的终端中。在图2中,限制后台对象的方法包括:
步骤210,当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,后台对象标识是终端当前后台运行的对象的标识,预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段。
在本申请实施例中,终端中能够预先设置检测卡顿事件的功能。当终端在前台运行有前台对象时,终端可以启动一个系统服务、系统应用或者系统进程对前台对象进行监控。当前台对象获取的资源不足时,终端能够监测到该不足的资源数值,并确定发生了卡顿事件。在发生卡顿事件之后,终端可以启动一个定时器,当该定时器未超时,并且终端检测到预定时段内前台对象再次发生卡顿事件时,终端将获取后台对象标识。例如,该预定时段可以是5秒、10秒或者30秒等时长的时段。也即,预定时段可以是上一个卡顿事件发生时刻后的5秒、10秒或者30秒等时长的时段。
需要说明的是,在同一时刻位于后台运行的后台对象可以是零个,也可以是一个,还可以是至少两个。在本申请实施例中,终端能够获取该后台对象的后台对象标识。
步骤220,根据后台对象标识,获取对应的对象限制策略。
在本申请实施例中,终端能够根据后台对象标识,获取相对应的限制策略。需要说明的是,不同的后台对象可以具有不同的对象限制策略。例如,终端获取到后台对象标识A、后台对象标识B和后台对象标识C三个后台对象,终端可以分别获取不同的后台对象标识各自对应的对象限制策略。例如,可参见表一所示的对象限制策略和后台对象的对应关系。
表一
后台对象 后台对象标识A 后台对象标识B 后台对象标识C
对象限制策略 策略T1 策略T2 策略T3
在表一所示的对应关系中,后台对象通过后台对象标识A、后台对象标识B和后台对象标识C三个后台对象表示。终端中可以预先保存后台运行的对象和对象限制策略之间的对应关系,当终端获取到后台对象的标识后,终端根据上述对应关系获取后台对象对应的对象限制策略。例如,当终端获取到的后台对象是后台对象标识B标识的对象时,终端将得到策略T2作为该后台对象相对应的对象限制策略。
步骤230,根据对象限制策略,对后台运行的对象进行限制。
在本申请实施例中,终端能够根据对象限制策略,对后台运行的对象进行限制。
在一种可能的实现方式中,终端可以获取对象限制策略中的操作,使用该操作对后台运行的对象。可选地,在该限制操作中,终端可以直接停止后台运行的对象,该停止操作又可以表述为关闭操作。可选地,终端还可以冻结后台运行的对象,令该后台运行的对象在当前的前台对象运行时暂停运行,在当前的前台对象关闭或者切换到后台运行时,该后台运行的对象恢复运行。
在另一种可能的实现方式中,对象限制策略中可以同时包括用于指示限制后台对象的操作和相应的触发条件。其中,该相应的触发条件可以是时间维度上的条件和空间维度上的条件,例如,请参见表二。
表二
Figure BDA0002184138410000071
表二示出了一种对象限制策略的示意方式。需要说明的是,该对象限制策略T4可以是针对后台运行的对象A5的策略,终端在该对象限制策略T4启用后,将在不同的触发条件下,对后台运行的对象A5执行相应的操作。例如,终端位于家中,且当前的时间为20:00点,终端此时将对后台运行的对象A5执行关闭的操作。
综上所述,本实施例提供的限制后台对象的方法,应用在终端中,能够在预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,该后台对象标识是终端当前后台运行的对象的标识,终端能够根据后台对象标识获取对应的对象限制策略,并根据对象限制策略,对后台运行的对象进行限制。由于本申请实施例能够在前台对象在预定时段内再次发生卡顿事件时,获取后台对象标识,并查找到对应的对象限制策略对后台运行的对象进行限制,使得终端能够有效应对现有资源管理操作无法一次性为前台对象提供足够的资源的问题,在保障后台运行的对象得到适当处理的前提下,提高了终端为前台对象提供资源的能力,保障了前台对象的顺畅运行。
请参见图3,图3是本申请另一个示例性实施例提供的限制后台对象的方法流程图。该限制后台对象的方法可以应用在上述图1所示的终端中。在图3中,该限制后台对象的方法包括:
步骤310,当前台对象发生卡顿事件时,通过系统原生对象释放终端资源。
在本申请实施例中,系统原生对象用于根据终端中原生的资源释放逻辑,释放后台运行的对象所占用的资源。
在一种可能的实施方式中,终端在正常运行时通常依靠搭载的操作系统,来控制终端中的各个对象以及软硬件资源的调度。在操作系统中,可以设置有系统原生对象,该系统原生对象是终端中原生的资源释放逻辑的执行者。终端中的操作系统能够在前台应用发生卡顿事件时,通过系统原生对象根据终端中原生的资源释放逻辑,释放后台运行的对象所占用的资源。
可选地,系统原生对象可以是系统自带的资源释放服务或资源管理应用。系统原生对象可以根据原生的资源释放逻辑,对后台运行的对象进行冻结或者清理。
步骤321,当终端处于目标状态的持续时长不小于预定时长时,触发卡顿事件。
在本申请实施例中,目标状态包括处理器的占用率不小于占用率阈值,和/或,当前前台运行的对象的帧率不大于帧率阈值。
在一种可能的方式中,当终端处于目标状态时,说明终端当前的状态不佳。例如,当终端的处理器的占用率不小于占用率阈值时,说明终端处于高运行负荷的状态,该状态下可能导致前台对象需要被处理的数据延时处理,导致前台对象出现卡顿。例如,占用率阈值可以是60%、75%或80%。预定时长可以是1秒、2秒或5秒。即当占用率阈值是60%,预定时长是2秒时,在终端处于占用率为63%的时长超过2秒时,终端将触发卡顿事件。
在另一种可能的方式中,在当前前台运行的对象的帧率不大于帧率阈值,且持续时长不小于预定时长时,触发卡顿事件。前台运行的对象的帧率,也即前台对象的帧率,用于指示前台对象刷新画面的频率。当该前台对象的帧率不大于帧率阈值且持续时间较长时,终端能够确定前台应用较为卡顿,从而触发卡顿事件。可选地,帧率阈值可以为45fps、30fps或55fps。可选地,以帧率阈值为45fps,且预定时长为3秒为例,当前台运行的游戏G1的帧率持续4秒低于45fps,卡顿事件将被触发。
步骤322,当卡顿事件发生在预定时段内,获取后台对象标识。
在本申请实施例中,当卡顿事件发生在预定时段内,终端将获取后台对象标识。其中,预定时段是指是上一个卡顿事件发生时刻后的指定时长的时段。后台对象标识指的是当前位于后台运行的对象的标识。需要说明的是,若当前后台没有正在运行的对象,则本步骤不获取相应的标识。若当前后台运行有一个对象,则终端将获取该对象的标识,若当前后台运行有多个对象,则终端将获取多个对象各自的标识。
步骤331,当预定时段内前台对象再次发生卡顿事件时,检测终端是否处于省电模式。
在本申请实施例中,当终端在预定时段内再次发生卡顿事件时,终端将检测自身是否处于省电模式。
需要说明的是,本申请为终端设计了限制后台对象的一种方案,能够令终端在不影响后台对象正常运行的尺度下,提高终端的续航能力。在该方案中,若在预定时段内前台对象再次发生卡顿事件,则说明系统原生对象释放的终端资源不足,仍不能满足前台对象的需求,在此场景中终端能够进一步检测自身是否处于省电模式,考察自身的能耗情况。
在一种可能的实现方式中,终端能够读取自身的设备用电状态,该用电状态在用户界面中也可以查看到。在开启省电模式的终端中,终端会在状态栏中显示相应的省电状态图标。
在另一种可能的实现方式中,终端也能够确定终端不处于省电模式的状态。
步骤332,当终端处于省电模式时,获取后台对象标识。
在本申请实施例中,终端能够在检测到自身处于省电模式时,获取后台对象标识。由此可见,本申请在前台对象所需的资源不足时,能够继续检测终端的用电情况。在终端处于用电模式时,说明终端自身的电量不足或者用户希望终端以省电的模式运行。在此情况下,对后台对象进行更大幅度的限制,能够实现降低终端能耗的效果。因此,本申请将在终端处于省电模式时,获取后台对象标识。
步骤341,当预定时段内前台对象再次发生卡顿事件时,获取终端当前的时空属性。
在本申请实施例中,时空属性用于指示终端当前的系统时间和/或所处的地理位置。
在一种可能的实现方式中,终端能够在预定时段内前台对象再次发生卡顿事件时,获取终端当前的时空属性,掌握终端当前所在的地理位置和/或终端当前的系统时间。
步骤342,当时空属性关联非易充电状态时,获取后台对象标识。
在本申请实施例中,终端的时空属性能够预先与终端的充电难易状态相关联。在一种可能的实现方式中,时空属性均与终端的充电难易状态相关联。可选地,终端的充电难易状态包括易充电状态和非易充电状态两种。
在本申请的一种可能的实现方式中,终端可以在时空属性初始化时,将全部的时空属性默认关联非易充电状态,也即终端能够将时空属性默认关联的充电难易状态设置为非易充电状态。在后续终端的时候过程中,终端可以按照指定的规则将部分时空属性关联的充电难易状态调整为易充电状态。
在本申请实施例中,当终端执行完成步骤332时,终端还能够执行步骤a、步骤b、步骤c和步骤d四个步骤以实现对时空属性进行标定,使得时空属性能够反映终端当前是否处于容易充电的状态。
步骤a,当终端处于易充电状态时,获取终端的时空属性。
在本申请实施例中,易充电状态用于指示终端历史上在时空属性的状态进行充电的次数大于预设阈值。非易充电状态用于指示终端历史上在时空属性的状态进行充电的次数不大于预设阈值。
步骤b,将时空属性和易充电状态对应的次数加一。
在本申请实施例中,终端能够将时空属性和易充电状态对应的次数加一。需要说明的是,终端能够统计指定的时空属性和易充电状态的对应关系,指定的时空属性在终端中存在与易充电状态对应的次数的记录。
步骤c,当时空属性与易充电状态对应的次数小于预设次数时,建立时空属性与非易充电状态之间的关联关系。
在本申请实施例中,当时空属性与易充电状态对应的次数小于预设次数时,终端将建立时空属性与非易充电状态之间的关联关系。
需要说明的是,若时空属性默认与非易充电状态之间存在关联关系,则终端可以继续保持该时空属性与非易充电状态之间的关联关系。若时空属性默认与非易充电状态之间不存在关联关系,则终端可以新建立该时空属性与非易充电状态之间的关联关系。
步骤d,当时空属性与易充电状态对应的次数不小于预设次数时,建立时空属性与易充电状态之间的关联关系。
在本申请实施例中,当时空属性与易充电状态对应的次数不小于预设次数时,终端将建立时空属性与易充电状态之间的关联关系。需要说明的是,时空属性与易充电状态对应的次数可以是历史上时空属性与易充电状态存在关联的次数。终端将统计该时空属性与易充电状态对应的次数,当该次数不小于预设次数时,终端将建立该时空属性与易充电状态之间的关联关系。
例如,当时空属性和易充电状态对应的次数不小于预设阈值5次时,终端将建立时空属性与易充电状态之间的关联关系;当时空属性和易充电状态对应的次数小于预设阈值5次时,终端将建立时空属性与非易充电状态之间的关联关系。
步骤351,获取前台对象标识,前台对象标识是前台对象的标识。
在本申请实施例中,终端还能够获取前台对象标识,前台对象标识是终端在前台运行的对象的标识,也即前台对象的标识。
在一种可能的方式中,终端在前台运行的对象的标识将通过焦点窗口所在的对象而加以确定。例如,若终端的用户界面是分屏界面时,分屏界面中的一个窗口为焦点窗口,该窗口所属的对象即为前台对象。
步骤352,获取预设关联关系,预设关联关系用于指示对象限制策略与特征对象的关联关系,特征对象包括前台对象和当前后台运行的对象。
在本申请实施例中,终端能够获取预设关联关系,该预设关联关系中保存有特征对象和对象限制策略。
在一种可能的方式中,终端在获取预设关联关系后,能够在获知特征对象的情况下,查找到与该特征对象相对应的对象限制策略。
相应的,终端在获取预设关联关系后,能够在获知对象限制策略的情况下,查找到与该对象限制策略相对应的对象限制策略。
需要说明的是,特征对象包括前台对象和当前后台运行的对象。
在一种可能的预设关联关系的实现方式中,特征对象可以由一个前台对象和一个后台运行的对象组成,该特征对象对应一个对象限制策略。
请参见表三,表三示出了一种预设关联关系中包含的内容。
表三
Figure BDA0002184138410000121
在表三所示的内容中,终端中保存的预设关联关系中包括特征对象和对象限制策略两个内容,并且上述两者之间的对应关系也一并保存在该预设关联关系的数据中。
需要说明的是,若终端当前在前台运行的对象是前台对象A0,并且终端在后台运行的对象包括后台对象A1、后台对象A2和后台对象A3。在此场景中,终端能够获取用于限制后台对象A1的对象限制策略,即策略4。终端还能够获取用于限制后台对象A2的对象限制策略,即策略5。终端还能够获取用于限制后台对象A3的对象限制策略,即策略6。
步骤353,当前台对象标识和后台对象标识与特征对象匹配时,根据预设关联关系获取特征对象对应的对象限制策略。
在本申请实施例中,终端能够将前台对象标识和后台对象标识与特征对象进行匹配。例如,基于表三所示的数据,终端能够在前台对象标识和后台对象标识均与特征对象对应时,获取特征对象相对应的对象限制策略。可见,终端通过执行步骤351、步骤352和步骤353能够实现获取对象限制策略的效果。
步骤361,获取在预定时段中未被执行的候选子策略,候选子策略属于对象限制策略。
在本申请实施例中,终端获取在预定时段中未被执行的候选子策略,该候选子策略属于对象限制策略。例如,一个对象限制策略中,可以分为多个候选子策略,终端在具体执行对象限制策略时,能够按照需求执行该对象限制策略中的一个。下面将基于表三所示的数据列写本申请实施例中的一种可能实现的方式。请参见表四,表四示出了一种对象限制策略中包含的内容。
表四
Figure BDA0002184138410000122
在表四所示的数据中,结合表三所示的数据,终端能够在前台对象是A0,后台对象是A1的场景下获取对象限制策略为策略4。随后,终端能够从策略4中确定3个候选子策略。若策略4中的3个候选子策略均没有被启用,则终端获取子策略1、子策略2和子策略3三个子策略。若终端已启动子策略1对后台对象A1进行限制,则终端将获取没有被执行的子策略2和子策略3。
在本申请实施例中,候选子策略包括以下至少一种:冻结后台运行的对象、关闭后台运行的对象或对后台运行的对象使用目标资源设置上限。
需要说明的是,可选地,终端能够冻结后台运行的对象。在该操作中,终端通常将后台运行的对象暂时进行冻结,解冻的时刻既可以设置为当前的前台对象转入后台时,也可以设置为当前的后台对象关闭时,还可以设置为指定定时器超时时,本申请实施例对此不作限制。
可选的,终端还能够关闭后台运行的对象。在该操作中,终端能够彻底释放该后台运行的对象所占用的资源,从而实现关闭该对象。从另一个技术角度描述,终端能够杀死该后台运行的对象,从而回收其占用的资源。
步骤362,根据目标子策略对后台运行的对象进行限制,目标子策略属于候选子策略,且目标子策略对后台运行的对象使用目标资源的限制程度,是候选子策略中最小的。
在本申请实施例中,终端能够根据目标子策略对后台运行的对象进行限制,该目标子策略属于候选子策略。需要说明功能的是,终端能够从候选子策略中,将对后台运行的对象使用目标资源的限制程度最小的子策略,确定为目标子策略。
以上述表四所示的数据为例进行说明,当候选子策略包括子策略1、子策略2和子策略3三种时,需要说明的内容如下。
其中,子策略1对后台运行的对象使用内存资源的限制最小,仍允许子策略1使用CPU核心资源,仅是将CPU核心资源使用的限制为小核。在该场景中,终端的CPU核心包括处理能力将强的大核和处理能力较弱的小核。
子策略2对后台运行的对象使用CPU核心资源的限制较大,高于子策略1,根据子策略2,后台运行的对象将暂时不能使用CPU核心资源,该后台运行的对象将被冻结。
子策略3对后台运行的对象使用CPU核心资源的限制是候选子策略中最大的。根据子策略3,后台运行的对象将被关闭,彻底释放其使用的CPU核心资源。
综上所述,由上述公开的内容可知,本申请提供的方法能够在前台对象第一次发生卡顿时,使用系统原生对象来释放资源,通常而言系统原生对象释放资源不需要启动额外的应用,能以较低的功耗完成资源的释放工作。当第一次卡顿事件发生后的预定时长中,前台对象再次触发卡顿事件,且终端处于省电模式时,终端将获取后台对象标识。终端可以根据后台对象标识和前台对象标识,获取对应的对象限制策略。在一种可能的方式中,终端中预先存储一个预设关联关系,该关联关系中包括特征对象和对应的对象限制策略。当终端中实际的前台对象标识和后台对象标识与特征对象匹配时,终端获取特征对象对应的对象限制策略。由此可见,本申请提供的方案能够根据前台对象的不同,针对后台对象使用不同的对象限制策略,使得后台对象进行相应的限制,提高了终端限制后台对象的针对性,提高了后台对象的显示效果。
本实施例提供的限制后台对象的方法,还能够在获取到对象限制策略后,从该对象限制策略中获取未被执行的候选子策略,并从候选子策略中确定目标子策略,该目标子策略是候选子策略中对后台运行的对象使用目标资源的限制程度最小的策略。通过本申请提供的限制后台运行的对象的方案,本申请能够逐步限制后台对象,使得满足前台对象不卡顿的效果的同时尽可能减少对后台对象的限制,提高了系统平衡前台对象不卡顿和后台对象运行性能的效果。
本实施例提供的限制后台对象的方法,还能够智能统计终端的时空属性与是否容易充电进行关联,使得终端能够根据自身所处的时空属性直接确定自身是否处于容易充电的环境。若终端判断自身处于较容易充电的场景,则终端可以不优先考虑能耗,将优先保证终端中各个对象的性能,若终端自身处于不容易充电的场景,则终端可以优先考虑能耗,对后台对象进行限制,从而提高了终端在前台对象所需的资源不足的场景下,同时考虑能耗,智能对后台应用进行限制的能力。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图4,图4是本申请一个示例性实施例提供的限制后台对象的装置的结构框图。该限制后台对象的装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:
标识获取模块410,用于当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,所述后台对象标识是所述终端当前后台运行的对象的标识,所述预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段。
策略获取模块420,用于根据所述后台对象标识,获取对应的对象限制策略。
对象限制模块430,用于根据所述对象限制策略,对所述后台运行的对象进行限制。
在一个可选的实施例中,所述策略获取模块420,用于获取前台对象标识,所述前台对象标识是所述前台对象的标识;获取预设关联关系,所述预设关联关系用于指示所述对象限制策略与特征对象的关联关系,所述特征对象包括所述前台对象和所述当前后台运行的对象;当所述前台对象标识和所述后台对象标识与所述特征对象匹配时,根据所述预设关联关系获取所述特征对象对应的所述对象限制策略。
在一个可选的实施例中,所述对象限制模块430,用于获取在所述预定时段中未被执行的候选子策略,所述候选子策略属于所述对象限制策略;根据目标子策略对所述后台运行的对象进行限制,所述目标子策略属于所述候选子策略,且所述目标子策略对所述后台运行的对象使用目标资源的限制程度,是所述候选子策略中最小的。
在一个可选的实施例中,所述标识获取模块410,用于当所述终端处于目标状态的持续时长不小于预定时长时,触发所述卡顿事件,所述目标状态包括处理器的占用率不小于占用率阈值,和/或,所述当前前台运行的对象的帧率不大于帧率阈值;当所述卡顿事件发生在所述预定时段内,获取所述后台对象标识。
在一个可选的实施例中,所述装置涉及的所述候选子策略包括以下至少一种:冻结所述后台运行的对象、关闭所述后台运行的对象或对所述后台运行的对象使用所述目标资源设置上限。
在一个可选的实施例中,所述装置涉及的目标资源包括如下至少一种:处理器核心、读写资源或网络资源。
在一个可选的实施例中,所述装置还包括原生释放模块,所述原生释放模块,用于当所述前台对象发生所述卡顿事件时,通过系统原生对象释放终端资源,所述系统原生对象用于根据所述终端中原生的资源释放逻辑,释放所述后台运行的对象所占用的资源。
在一个可选的实施例中,所述标识获取模块410,用于当预定时段内前台对象再次发生卡顿事件时,检测所述终端是否处于省电模式;当所述终端处于所述省电模式时,获取所述后台对象标识。
在一个可选的实施例中,所述标识获取模块410,用于当预定时段内前台对象再次发生卡顿事件时,获取所述终端当前的时空属性,所述时空属性用于指示所述终端当前的系统时间和/或所处的地理位置;当所述时空属性关联非易充电状态时,获取所述后台对象标识,所述非易充电状态用于指示所述终端历史上在所述时空属性的状态进行充电的次数不大于所述预设阈值。
在一个可选的实施例中,所述装置还包括关系建立模块,所述关系建立模块当所述终端处于易充电状态时,获取所述终端的所述时空属性,所述易充电状态用于指示所述终端历史上在所述时空属性的状态进行充电的次数大于所述预设阈值;将所述时空属性和所述易充电状态对应的次数加一;当所述时空属性与所述易充电状态对应的次数小于预设次数时,建立所述时空属性与所述非易充电状态之间的关联关系;当所述时空属性与所述易充电状态对应的次数不小于预设次数时,建立所述时空属性与所述易充电状态之间的关联关系。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的限制后台对象的方法。
需要说明的是:上述实施例提供的限制后台对象的装置在执行限制后台对象的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的限制后台对象的装置与限制后台对象的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种限制后台对象的方法,其特征在于,所述方法应用于终端中,所述方法包括:
当前台对象发生卡顿事件时,通过系统原生对象释放终端资源,所述系统原生对象用于根据所述终端中原生的资源释放逻辑,释放后台运行的对象所占用的资源;
当预定时段内所述前台对象再次发生所述卡顿事件时,获取后台对象标识,所述后台对象标识是所述终端当前后台运行的对象的标识,所述预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段;
获取前台对象标识,所述前台对象标识是所述前台对象的标识;
获取预设关联关系,所述预设关联关系用于指示对象限制策略与特征对象的关联关系,所述特征对象包括所述前台对象和所述当前后台运行的对象;
当所述前台对象标识和所述后台对象标识与所述特征对象匹配时,根据所述预设关联关系获取所述特征对象对应的所述对象限制策略,其中,不同特征对象对应不同对象限制策略,且所述对象限制策略中包括至少两个子策略;
获取在所述预定时段中未被执行的候选子策略,所述候选子策略属于所述对象限制策略;
根据目标子策略对所述后台运行的对象进行限制,所述目标子策略属于所述候选子策略,且所述目标子策略对所述后台运行的对象使用目标资源的限制程度,是所述候选子策略中最小的。
2.根据权利要求1所述的方法,其特征在于,当预定时段内卡顿事件再次发生时,获取后台对象标识,包括:
当所述终端处于目标状态的持续时长不小于预定时长时,触发所述卡顿事件,所述目标状态包括处理器的占用率不小于占用率阈值,和/或,当前前台运行的对象的帧率不大于帧率阈值;
当所述卡顿事件发生在所述预定时段内,获取所述后台对象标识。
3.根据权利要求1所述的方法,其特征在于,所述候选子策略包括以下至少一种:
冻结所述后台运行的对象、关闭所述后台运行的对象或对所述后台运行的对象使用所述目标资源设置上限。
4.根据权利要求3所述的方法,其特征在于,所述目标资源包括如下至少一种:处理器核心、读写资源或网络资源。
5.根据权利要求1至4任一所述的方法,其特征在于,当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,包括:
当预定时段内前台对象再次发生卡顿事件时,检测所述终端是否处于省电模式;
当所述终端处于所述省电模式时,获取所述后台对象标识。
6.根据权利要求1至4任一所述的方法,其特征在于,当预定时段内前台对象再次发生卡顿事件时,获取后台对象标识,包括:
当预定时段内前台对象再次发生卡顿事件时,获取所述终端当前的时空属性,所述时空属性用于指示所述终端当前的系统时间和/或所处的地理位置;
当所述时空属性关联非易充电状态时,获取所述后台对象标识,所述非易充电状态用于指示所述终端历史上在所述时空属性的状态进行充电的次数不大于预设阈值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述终端处于易充电状态时,获取所述终端的所述时空属性,所述易充电状态用于指示所述终端历史上在所述时空属性的状态进行充电的次数大于所述预设阈值;
将所述时空属性和所述易充电状态对应的次数加一;
当所述时空属性与所述易充电状态对应的次数小于预设次数时,建立所述时空属性与所述非易充电状态之间的关联关系;
当所述时空属性与所述易充电状态对应的次数不小于预设次数时,建立所述时空属性与所述易充电状态之间的关联关系。
8.一种限制后台对象的装置,其特征在于,所述装置应用于终端中,所述装置包括:
原生释放模块,用于当前台对象发生卡顿事件时,通过系统原生对象释放终端资源,所述系统原生对象用于根据所述终端中原生的资源释放逻辑,释放后台运行的对象所占用的资源;
标识获取模块,用于当预定时段内所述前台对象再次发生所述卡顿事件时,获取后台对象标识,所述后台对象标识是所述终端当前后台运行的对象的标识,所述预定时段是从上一次卡顿事件发生的时刻开始的指定时长的时间段;
策略获取模块,用于获取前台对象标识,所述前台对象标识是所述前台对象的标识;
所述策略获取模块,还用于获取预设关联关系,所述预设关联关系用于指示对象限制策略与特征对象的关联关系,所述特征对象包括所述前台对象和所述当前后台运行的对象;
所述策略获取模块,还用于当所述前台对象标识和所述后台对象标识与所述特征对象匹配时,根据所述预设关联关系获取所述特征对象对应的所述对象限制策略,其中,不同特征对象对应不同对象限制策略,且所述对象限制策略中包括至少两个子策略;
对象限制模块,用于获取在所述预定时段中未被执行的候选子策略,所述候选子策略属于所述对象限制策略;
所述对象限制模块,还用于根据目标子策略对所述后台运行的对象进行限制,所述目标子策略属于所述候选子策略,且所述目标子策略对所述后台运行的对象使用目标资源的限制程度,是所述候选子策略中最小的。
9.一种终端,其特征在于,所述终端包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至7任一所述的限制后台对象的方法。
10.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至7任一所述的限制后台对象的方法。
CN201910807764.4A 2019-08-29 2019-08-29 限制后台对象的方法、装置、终端及存储介质 Active CN110515736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910807764.4A CN110515736B (zh) 2019-08-29 2019-08-29 限制后台对象的方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910807764.4A CN110515736B (zh) 2019-08-29 2019-08-29 限制后台对象的方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110515736A CN110515736A (zh) 2019-11-29
CN110515736B true CN110515736B (zh) 2023-01-13

Family

ID=68628858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910807764.4A Active CN110515736B (zh) 2019-08-29 2019-08-29 限制后台对象的方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110515736B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113497722B (zh) * 2020-03-20 2024-09-17 阿里巴巴集团控股有限公司 数据处理、数据下载、流媒体控制方法、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095363A (zh) * 2016-06-03 2016-11-09 广东欧珀移动通信有限公司 一种终端卡顿的改善方法、装置以及终端
CN106547640A (zh) * 2016-11-23 2017-03-29 深圳市金立通信设备有限公司 一种后台清理的方法及终端
CN107491349A (zh) * 2017-08-25 2017-12-19 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质
CN107943537A (zh) * 2017-11-14 2018-04-20 广东欧珀移动通信有限公司 应用清理方法、装置、存储介质及电子设备
CN109032793A (zh) * 2018-07-11 2018-12-18 Oppo广东移动通信有限公司 资源配置的方法、装置、终端及存储介质
CN109361818A (zh) * 2018-10-26 2019-02-19 深圳壹账通智能科技有限公司 充电提醒方法、装置、存储介质和终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955264B (zh) * 2014-05-15 2016-10-12 乐视致新电子科技(天津)有限公司 动态调节处理器工作频率的方法及系统
CN105471933B (zh) * 2014-08-07 2019-04-26 腾讯科技(深圳)有限公司 服务器过载保护方法、服务器过载保护系统及服务器
CN107148072B (zh) * 2017-04-27 2020-12-18 华讯高科股份有限公司 一种智能终端应用的目标资源参数的获取方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095363A (zh) * 2016-06-03 2016-11-09 广东欧珀移动通信有限公司 一种终端卡顿的改善方法、装置以及终端
CN106547640A (zh) * 2016-11-23 2017-03-29 深圳市金立通信设备有限公司 一种后台清理的方法及终端
CN107491349A (zh) * 2017-08-25 2017-12-19 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质
CN107943537A (zh) * 2017-11-14 2018-04-20 广东欧珀移动通信有限公司 应用清理方法、装置、存储介质及电子设备
CN109032793A (zh) * 2018-07-11 2018-12-18 Oppo广东移动通信有限公司 资源配置的方法、装置、终端及存储介质
CN109361818A (zh) * 2018-10-26 2019-02-19 深圳壹账通智能科技有限公司 充电提醒方法、装置、存储介质和终端

Also Published As

Publication number Publication date
CN110515736A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
US20210406062A1 (en) Application Start Method and Apparatus
US11016641B2 (en) Method and apparatus for taking screenshot of screen of application in mobile terminal
CN108763012B (zh) 卡顿信息获取方法、装置及终端
US20220221998A1 (en) Memory management method, electronic device and non-transitory computer-readable medium
CN106774786B (zh) 一种功耗控制方法以及装置
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
US11301029B2 (en) Method, apparatus, and system for allocating power to graphics processing unit
CN107783803B (zh) 智能终端的系统优化方法、装置、存储介质及智能终端
CN109064538B (zh) 视图渲染方法、装置、存储介质及智能终端
CN110647366B (zh) 处理卡顿的方法、装置、终端及存储介质
CN103838648A (zh) 一种终端及数据备份方法
CN111708642B (zh) Vr系统中处理器性能优化方法、装置及vr设备
CN110659136B (zh) 限制帧率的方法、装置、终端及存储介质
CN108693948B (zh) 帧率调整方法、装置、终端设备及存储介质
CN110515736B (zh) 限制后台对象的方法、装置、终端及存储介质
CN108966005B (zh) 一种视频分辨率的调节方法、装置、存储介质及终端
US20240152439A1 (en) Detection Method and Electronic Device
CN113439435A (zh) 视频播放方法、装置、存储介质及电子设备
CN109992363B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN108011860B (zh) 一种处理广播消息的方法、装置及终端
CN110658904A (zh) 控制终端电流的方法、装置、终端及存储介质
CN111966425A (zh) 进程清理方法、装置、存储介质及移动终端
CN110633003B (zh) 降低功耗的方法、装置、终端及存储介质
CN114546171A (zh) 数据分发方法、装置、存储介质及电子设备
CN112911390B (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
GR01 Patent grant
GR01 Patent grant