CN112988282A - 应用保活方法和终端设备 - Google Patents

应用保活方法和终端设备 Download PDF

Info

Publication number
CN112988282A
CN112988282A CN202110456691.6A CN202110456691A CN112988282A CN 112988282 A CN112988282 A CN 112988282A CN 202110456691 A CN202110456691 A CN 202110456691A CN 112988282 A CN112988282 A CN 112988282A
Authority
CN
China
Prior art keywords
application
keep
alive
terminal device
user
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.)
Granted
Application number
CN202110456691.6A
Other languages
English (en)
Other versions
CN112988282B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110456691.6A priority Critical patent/CN112988282B/zh
Publication of CN112988282A publication Critical patent/CN112988282A/zh
Application granted granted Critical
Publication of CN112988282B publication Critical patent/CN112988282B/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/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/5016Allocation 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 the resource being the memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请提供了一种应用保活方法和终端设备,在降低终端设备的功耗的同时,能够灵活调整各个应用的保活任务,提高用户体验。该方法包括:响应于用户的第一指令,打开第一应用;响应于该用户的第二指令,打开第二应用,并将上述第一应用从前台切换至后台运行;若该第一应用不在临时保活白名单中,记录该第一应用从前台切换至后台运行的第一时刻;响应于用户再次打开第一应用的第三指令,打开该第一应用,并判断第一应用的进程是否重启;若该第一应用的进程重启,记录第一应用的进程重启的第二时刻;在上述第二时刻与上述第一时刻之差小于第一阈值的情况下,将上述第一应用添加至上述临时保活白名单中。

Description

应用保活方法和终端设备
技术领域
本申请涉及终端领域,尤其涉及一种应用保活方法和终端设备。
背景技术
随着各类应用(application,APP)的蓬勃发展,很多事务都可以在终端设备(例如手机)上通过软件进行操作,人们日常使用的软件也越来越多。因此,在使用终端设备的过程中,用户经常需要在各种软件中进行切换。而各类应用自身的不断更新升级也使得应用所占内存越来越大。随着人们对于手机性能的要求越来越高,终端设备厂商为了提高终端设备的性能,降低终端设备的功耗,会制定各类策略杀死处于后台的应用进程,导致普通第三方应用进程很难在后台存活。
目前,短视频、购物、小说或影音等娱乐型应用发展的很快,人们对这类应用日常使用的时间和频率较高,而这类应用需要有很好的使用连续性,所以这类应用的进程在后台被杀,将会导致用户对于这类应用的使用连续性被打断,用户体验差。
因此,目前亟需一种应用保活方法,以解决上述常用应用进程被杀,用户体验差的问题。
发明内容
本申请提供一种应用保活方法和终端设备,在降低终端设备的功耗的同时,能够灵活调整各个应用的保活任务,对有必要的应用在后台进行保活,提高用户体验。
第一方面,提供了一种应用保活方法,包括:响应于用户的第一指令,打开第一应用;响应于该用户的第二指令,打开第二应用,并将上述第一应用从前台切换至后台运行;若该第一应用不在临时保活白名单中,记录该第一应用从前台切换至后台运行的第一时刻;响应于用户再次打开上述第一应用的第三指令,打开上述第一应用,并判断上述第一应用的进程是否重启;若上述第一应用的进程重启,记录上述第一应用的进程重启的第二时刻;在上述第二时刻与上述第一时刻之差小于第一阈值的情况下,将上述第一应用添加至上述临时保活白名单中。
在本申请实施例中,终端设备可以根据用户使用应用的习惯,将不在临时保活白名单中,且短时间内用户再次使用的第一应用,添加到临时保活白名单中,以使用户在下一次使用第一应用时,有效避免因第一应用重启,导致打断用户使用该第一应用的连续性问题,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:若上述第一应用在上述临时保活白名单中,开启上述第一应用的保活任务,上述保活任务用于保持上述第一应用在第一时间段内处于运行状态;若在上述第一时间段内,未检测到上述用户将上述第一应用从后台切换回前台的第四指令,结束上述第一应用的保活任务。
在本申请实施例中,通过设置临时保活白名单,并对该临时保活白名单中的应用设置保活时长即上述第一时间段,若在应用被切换至后台运行的第一时段内,终端设备未检测到将上述第一应用切换回前台运行的指令,则可以结束对该第一应用的保活任务,避免占用终端设备的内存,降低终端设备的功耗。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:若上述第一应用不在上述临时保活白名单中或者上述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;若上述终端设备的内存小于或等于上述第二阈值,结束上述第一应用的进程。
在本申请实施例中,终端设备可以通过对内存的判断,选择结束运行在后台且未被保活的第一应用的进程,已释放相应的内存空间,降低功耗。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:周期性统计包括上述第二应用的多个应用的使用时长和/或使用频率;将上述使用时长和/或上述使用频率满足条件的应用添加至上述临时保活白名单中。
在本申请实施例中,终端设备可以通过用户的历史应用使用数据,获得各个应用的使用时长和/或使用频率,周期性地将时长和/或使用频率满足条件的上述应用添加至临时保活白名单中,无需用户手动操作,且将时长和/或使用频率满足条件的上述应用添加至临时保活白名单中,可以避免上述应用在后台短时间被结束,打断用户使用上述应用的连续性,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:若在上述第一时间段内,检测到上述第四指令,响应于上述第四指令,将上述第一应用从后台切换至前台运行。
本申请实施例中,通过设置临时保活白名单,并对该临时保活白名单中的应用设置保活时长即上述第一时间段,若在应用被切换至后台运行的第一时间段内,终端设备检测到将上述应用从后台切换回前台运行的指令,则可以直接将该应用从后台切换回前台运行,避免因应用被结束导致用户再次使用该应用时需要重启该应用的进程,打断用户使用该应用的连续性的问题,提高用户体验。
第二方面,提供了一种终端设备,包括:处理模块和计时模块;其中,处理模块用于,响应于用户的第一指令,打开第一应用;响应于上述用户的第二指令,打开第二应用,并将上述第一应用从前台切换至后台运行;计时模块用于,若上述第一应用不在临时保活白名单中,记录上述第一应用从前台切换至后台运行的第一时刻;上述处理模块还用于,响应于用户再次打开上述第一应用的第三指令,打开上述第一应用,并判断上述第一应用的进程是否重启;上述计时模块还用于,若上述第一应用的进程重启,记录上述第一应用的进程重启的第二时刻;上述处理模块还用于,在上述第二时刻与上述第一时刻之差小于第一阈值的情况下,将上述第一应用添加至上述临时保活白名单中。
结合第二方面,在第二方面的某些实现方式中,上述处理模块用于:若上述第一应用在上述临时保活白名单中,开启上述第一应用的保活任务,上述保活任务用于保持上述第一应用在第一时间段内处于运行状态;若在上述第一时间段内,未检测到上述用户将上述第一应用从后台切换回前台的第四指令,结束上述第一应用的保活任务。
结合第二方面,在第二方面的某些实现方式中,上述处理模块用于:若上述第一应用不在上述临时保活白名单中或者上述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;若上述终端设备的内存小于或等于上述第二阈值,结束上述第一应用的进程。
结合第二方面,在第二方面的某些实现方式中,上述处理模块用于:周期性统计包括上述第二应用的多个应用的使用时长和/或使用频率;将上述使用时长和/或上述使用频率满足条件的应用添加至上述临时保活白名单中。
结合第二方面,在第二方面的某些实现方式中,上述处理模块用于:若在上述第一时间段内,检测到上述第四指令,响应于上述第四指令,将上述第一应用从后台切换至前台运行。
第三方面,提供了另一种终端设备,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该终端设备还包括存储器。可选地,该终端设备还包括通信接口,处理器与通信接口耦合。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例提供的一种终端设备的系统架构示意图;
图2是本申请实施例提供的应用保活方法的示意性流程图;
图3是本申请实施例提供的一种设置临时保活白名单的手机界面的示意图;
图4是本申请实施例提供的又一设置临时保活白名单的手机界面的示意图;
图5是本申请实施例提供的一种设置临时保活白名单的示意性流程图;
图6是本申请实施例提供的一种终端设备的示意性框图;
图7是本申请实施例提供的又一终端设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一指令和第二指令是为了区分不同的用户指令,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例涉及的终端设备可以是手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、个人数字助理(personal digital assistant,PDA)等,本申请实施例对此并不限定。
为了使本申请的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本申请实施例提供的方法和终端设备进行详细说明。应理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
示例性地,图1为本申请实施例提供的一种终端设备的系统架构示意图。
如图1所示,终端设备包括处理器110、收发器120和显示单元170。其中,显示单元170可以包括显示屏。
可选地,该终端设备还可以包括存储器130。处理器110、收发器120和存储器130之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器130用于存储计算机程序,该处理器110用于从该存储器130中调用并运行该计算机程序。
可选地,终端设备还可以包括天线140,用于将收发器120输出的无线信号发送出去。
上述处理器110可以和存储器130合成一个处理装置,更常见的是彼此独立的部件,处理器110用于执行存储器130中存储的程序代码来实现上述功能。具体实现时,该存储器130也可以集成在处理器110中,或者,独立于处理器110。
除此之外,为了使得终端设备的功能更加完善,该终端设备还可以包括输入单元160、音频电路180、摄像头190和传感器101等中的一个或多个,该音频电路还可以包括扬声器182、麦克风184等。
可选地,上述终端设备还可以包括电源150,用于给终端设备中的各种器件或电路提供电源。
可以理解的是,图1所示的终端设备中的各个模块的操作和/或功能,分别为了实现下述方法实施例中的相应流程。具体可参见下述方法实施例中的描述,为避免重复,此处适当省略详细描述。
可以理解的是,图1所示的终端设备中的处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头190等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频电路180耦合,实现处理器110与音频电路180之间的通信。在一些实施例中,音频电路180可以通过I2S接口向收发器120传递音频信号,实现通过蓝牙耳机接听语音通话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频电路180与收发器120可以通过PCM总线接口耦合。在一些实施例中,音频电路180也可以通过PCM接口向收发器120传递音频信号,实现通过蓝牙耳机接听语音通话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与收发器120。例如:处理器110通过UART接口与收发器120中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频电路180可以通过UART接口向收发器120传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示单元170,摄像头190等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头190通过CSI接口通信,实现终端设备的拍摄功能。处理器110和显示单元170通过DSI接口通信,实现终端设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头190,显示单元170,收发器120,音频模电路180,传感器101等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
可以理解的是,图1所示的电源150用于给处理器110,存储器130,显示单元170,摄像头190,输入单元160和收发器120等供电。
天线140用于发射和接收电磁波信号。终端设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线140复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
收发器120可以提供应用在终端设备上的包括无线局域网(wireless local areanetworks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。收发器120可以是集成至少一个通信处理模块的一个或多个器件。收发器120经由天线140接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。收发器120还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线140转为电磁波辐射出去。
在一些实施例中,终端设备的天线140和收发器120耦合,使得终端设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packetradio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-divisioncode division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
终端设备通过GPU,显示单元170,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示单元170和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示单元170用于显示图像,视频等。显示单元170包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,终端设备可以包括1个或N个显示单元170,N为大于1的正整数。
终端设备可以通过ISP,摄像头190,视频编解码器,GPU,显示单元170以及应用处理器等实现拍摄功能。
ISP用于处理摄像头190反馈的数据。例如,录制视频时,打开摄像头,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头190中。
摄像头190用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备可以包括1个或N个摄像头190,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备可以支持一种或多种视频编解码器。这样,终端设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
存储器130可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器130可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器130的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。
终端设备可以通过音频电路180,扬声器182,麦克风184,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频电路180用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频电路180还可以用于对音频信号编码和解码。在一些实施例中,音频电路180可以设置于处理器110中,或将音频电路180的部分功能模块设置于处理器110中。
扬声器182,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器182收听音乐,或收听免提通话。
麦克风184,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过靠近麦克风184发声,将声音信号输入到麦克风184。终端设备可以设置至少一个麦克风184。在另一些实施例中,终端设备可以设置两个麦克风184,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备还可以设置三个,四个或更多麦克风184,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
随着各类应用程序的蓬勃发展,很多事务都可以在终端设备上通过各类应用软件进行操作或实现,人们日常用到的应用软件也越来越多,在使用过程中经常需要在各种应用软件之间切换。但由于各类应用软件自身的不断更新升级,使得应用所占内存和功耗越来越大。随着人们对于手机性能的要求越来越高,终端设备厂商为了提高终端设备性能,尽可能的降低终端设备的功耗,制定了各类策略杀死处于后台的应用进程,导致普通第三方应用的进程很难在后台存活。尤其是中低端手机或者手机使用时间久了以后,应用进程在后台短时间被杀的概率大大增加。
目前短视频、购物、小说或影音类等娱乐型应用发展的很快,人们对这类应用日常使用的时间和频率较高,而这类应用都是需要有较高的使用连续性体验应用,所以一旦上述应用进程在后台短时间被杀,将打断用户对上述应用的使用连续性,导致用户体验差。
示例性地,当用户正在使用终端设备观看视频时,突然有其它事务需要处理,用户将视频应用置于后台开始处理当前事务,在该过程中用户可能进入其它的应用,例如使用相机,这样终端设备的运行内存会在短时间内大大降低,根据内存水线等策略放置后于台的视频应用的进程会在短时间内被杀,这会导致即使用户快速处理完其它事务,短时间内又切换回之前的视频应用时,该视频应用的进程仍然需要重启,用户又要重新打开该视频应用并且等待一段时间的广告,体验感差。
为了解决这一问题,目前的技术下,大多数终端设备都具有保活白名单的机制,对于保活白名单中的应用,在这类应用在后台清理策略中有高的优先级,即终端设备在后台会优先保活这类应用。上述保活白名单都是终端设备中预置,或者通过云侧更新的。在这一技术下,保活白名单中的应用会被一直保活在后台,即使用户已经长时间未使用了,这类应用的保活优先级也比用户刚刚放置于后台并且短时间会再次使用的应用的保活优先级高,这就会造成不必要的保活。
有鉴于此,本申请实施例提供了一种应用保活方法和终端设备,通过设置临时保活白名单,并对该临时保活白名单中的应用设置保活时长T,若在应用被切换至后台运行的时长T内,终端设备检测到了将上述应用切换回前台运行的指令,则可以直接将该应用从后台切换回前台,若在应用被切换至后台运行的时长T内,终端设备未检测到将上述应用切换回前台运行的指令,则结束对该应用进程的保活任务,避免应用长期在后台运行,占用终端设备的内存,这样,能够在降低终端设备的功耗的同时,灵活调整各个应用的保活任务,对有必要的应用在后台进行保活,提高用户体验。
在本申请实施例提供的应用保活方法中,当应用被从前台切换至后台时,若该应用不在上述临时保活白名单中,则记录该应用从前台切换至后台运行的第一时刻;响应于用户再次打开该应用的指令,打开该应用,并判断该应用的进程是否重启;若该应用的进程重启,则记录该应用的进程重启的第二时刻;在第二时刻与第一时刻之差小于第一阈值的情况下,可以将上述应用添加至上述临时保活白名单中。
这样,终端设备可以根据用户使用应用的习惯,将不在临时保活白名单中,且短时间内用户再次使用的应用,添加到临时保活白名单中,以使用户在下一次使用该应用时,有效避免因该应用重启,导致打断用户使用该应用的连续性问题,提高了用户体验。
图2是本申请实施例提供的一种应用保活方法200的示意性流程图。如图2所示,方法200包括下列步骤:
S201,终端设备检测到用户的第一指令,该第一指令用于启动应用A(也可以称为第一应用或其他名称)的进程;响应于该第一指令,终端设备启动应用A的进程,使应用A在前台运行。
示例性地,用户在使用终端设备时,可以点击终端设备的显示界面上的应用A的图标,打开该应用A。终端设备检测到用户的点击操作,并将该点击操作转换为上述第一指令。
S202,终端设备检测到用户的第二指令,该第二指令用于打开除该应用A之外的其他应用(也可以称为第二应用或其他名称);响应于该第二指令,终端设备打开其他应用,并将应用A切换至后台运行。
示例性地,用户可以在当前显示界面底部执行上滑操作,以进入多任务窗口;或者,用户可以点击home键,回到桌面。终端设备检测到用户的上滑操作或点击操作,并将该上滑操作或点击操作转换为上述第二指令。
S203,终端设备判断应用A是否在临时保活白名单中。
应理解,该临时保活白名单包括一个或多个应用的标识(例如应用名称、应用ID等),可以是终端设备中预置的,也可以是用户后期设置的,还可以是终端设备根据用户的应用使用情况灵活调整的,本申请实施例对此不作限定。
S204,若应用A在临时保活白名单中,终端设备在后台执行应用A的保活任务,该保活任务用于保持应用A在一时间段内处于运行状态。该保活任务的时长为T,即保证应用A的进程在后台运行的时长T内不被结束掉。
示例性地,终端设备可以在将应用A切换至后台运行时,开启计时器,该计时器的时长为T。
S205,终端设备判断在时长T内是否检测到用户的用于将应用A从后台切换回前台的第四指令。
S206,若终端设备在时长T内检测到上述第四指令,响应于该第四指令,终端设备将应用A从后台切换至前台运行。
示例性地,用户可以再次点击终端设备的显示界面上应用A的图标,将该应用A从后台切换回前台;或者,用户可以在多任务窗口中选择应用A的界面,以将开应用A从后台切换回前台。
应理解,在上述过程中,应用A被终端设备保活的时长为T,所以在时长T内,用户需要继续使用该应用A时,终端设备可以将保活的应用A从后台切换至前台运行,因为应用A的进程在后台被保活,所以不需要重启,因此不会打断用户对应用A的使用连续性,提高用户体验。
示例性地,当用户在使用视频应用观看视频的过程中,需要处理其他事务,用户切换至其他应用,终端设备将视频应用切换至后台运行,假设上述时长T为15min,终端设备可以保持该视频应用在后台至少运行15min。在15min之内,如果用户返回视频应用继续观看视频,那么终端设备可以直接将保活的视频应用切换回前台运行,用户可以接着上一次视频停止的地方继续观看,避免了因视频应用的进程在后台被杀,导致用户再次观看视频时,需要重启视频应用的进程,重新等待广告时间的问题,提高了用户体验。
S207,若终端设备在时长T内未检测到用户的上述第四指令,终端设备可以结束该应用A的保活任务。
在本申请实施例中,时长T可以是终端设备出厂时设置的默认值,也可以是用户根据自身需求设置的值,还可以是终端设备根据用户对各个应用的历史使用情况确定的。在一种可能的实现方式中,该时长T的大小可以在使用过程中根据用户的需求灵活调整,以提高用户体验。
应理解,在上述临时保活白名单包括多个应用的情况下,该多个应用中的每个应用的时长T可以是相同的,也可以是不相同的,即可以为不同的应用设置不同的保活时长,本申请实施例对此不作限定。
若上述应用A不在临时保活白名单中或者应用A的保活任务已结束,即在S203或S207之后,终端设备还可以执行下列步骤:
S208,终端设备判断该终端设备的内存是否小于或等于第二阈值。
应理解,上述第二阈值可以是终端设备在出厂时预设的。
示例性地,当上述第二阈值可以为内存水线,该内存水线用于表示终端设备的内存占用情况。
S209,在终端设备的内存小于或等于第二阈值的情况下,终端设备可以结束运行在后台的应用A的进程。
示例性地,在终端设备的内存小于或等于上述内存水线的低水线的情况下,表明终端设备内存紧张,终端设备可以结束运行在后台的应用的进程,以释放相应的内存空间。
可选地,当终端设备的后台运行了多个应用时,终端设备可以根据该多个应用的释放优先级,按优先级从高到低的顺序结束运行在后台的多个应用的进程,以释放相应的内存空间,提高终端设备的性能。上述释放优先级可以是应用的内存占用率、应用的后台运行时长、或者其他预设参数,本申请实施例对此不作限定。
示例性地,当终端设备判断当前内存小于或等于第二阈值时,终端设备可以对后台运行的多个应用按照后台运行时长,从大到小依次进行排序。终端设备先结束后台运行时长最长的应用的进程,以释放内存。若在结束了该后台运行时长最长的应用的进程之后,终端设备的内存仍然小于或等于第二阈值时,终端设备继续结束下一个应用的进程,直到终端设备的内存大于第二阈值。
本申请实施例的应用保活方法,通过设置临时保活白名单,并对该临时保活白名单中的应用设置保活时长T,一方面,若在应用被切换至后台运行的时长T内,终端设备检测到将上述应用从后台切换回前台运行的指令,则可以直接将该应用从后台切换回前台运行,避免因应用被结束导致用户再次使用该应用时需要重启该应用的进程,打断用户使用该应用的连续性的问题,提高用户体验;另一方面,若在应用被切换至后台运行的时长T内,终端设备未检测到将上述应用切换回前台运行的指令,则可以结束对该应用的保活任务,避免占用终端设备的内存,降低终端设备的功耗。因此,本申请实施例能够在降低终端设备的功耗的同时,灵活调整各个应用的保活任务,对有必要的应用在后台进行保活,提高用户体验。
应理解,上述用户的指令也可以称为用户的操作,例如,上述第一指令可以称为第一操作,上述第二指令可以称为第二操作,上述第三指令可以称为第三操作,上述第四指令可以称为第四操作。用户的操作具体可以包括触摸操作、拖拽操作、手势触发操作、语音唤醒操作、点击操作等,本申请实施例对此不作限定。其中,不同的指令对应的操作可以相同,也可以不同,不同的操作可以对应同一指令,也可以对应不同的指令,例如,用户可以通过点击操作打开上述应用A,也可以通过语音唤醒操作打开上述应用A,本申请实施例对此也不做限定。
可选的,上述S208-S209也可以是可选的步骤,终端设备也可以在结束应用A的保活任务或者判断出应用A不在临时保活白名单中的同时,直接结束应用A的进程,但本申请实施例对此不作限定。
下面结合图3-图5介绍本申请实施例的临时保活白名单的设置过程。
在一种可能的实现方式中,用户可以通过终端设备的保活入口设置临时保活白名单。这里的保活入口可以理解为终端设备显示给用户的界面,用户可以在界面中进行临时保活白名单的设置。
下面以手机为例对本申请提供的设置临时保活白名单的方法进行说明。
图3示出了一种设置临时保活白名单的手机界面300,如图3所示,用户点击如图3中的手机界面a所示的“设置”图标,以打开设置界面,手机检测到用户的点击操作,获取打开设置界面的指令,并响应该指令,显示设置界面,如手机界面b所示,该设置界面为用户显示了“软件更新”、“关于手机”、“云服务”、“便捷辅助”以及“应用管理”多种设置选项。
用户点击如图3中的手机界面b所示的“应用管理”图标,以打开应用管理界面,手机检测到用户的点击操作,获取打开应用管理界面的指令,并响应该指令,显示应用管理界面,如手机界面c所示,该应用管理界面为用户显示了“应用列表”、“默认应用管理”、“应用权限”、“应用启动管理”以及“悬浮窗管理”多种选项。
用户点击如图3中手机界面c所示的“应用启动管理”图标,以打开应用启动管理,手机检测到用户的点击操作,获取打开应用启动管理界面的指令,并响应该指令,显示应用启动管理界面,如手机界面d所示,该启动管理界面为用户显示了可以被管理的应用列表,以及列表中各应用的切换开关和“全部自动管理”的切换开关,其中,用户可以通过列表中各应用的切换开关对想要管理的应用进行管理或者取消管理,或者用户可以通过“全部自动管理”的切换开关对全部应用进行相同的管理或者取消对全部应用的相同管理。
用户向右滑动如图3中手机界面d所示的应用A的切换开关,以打开应用A的手动管理,手机检测到用户的滑动操作,获取打开应用A的手动管理界面的指令,并响应该指令,显示应用A的手动启动管理界面,如手机界面e所示,该手动启动管理界面为用户显示了“允许自启动”、“允许关联启动”以及“允许后台启动”的多种应用A的管理选项,以及对应的切换开关。
用户向右滑动如图3中手机界面e所示的允许后台活动的切换开关,以允许应用A的进程在后台活动,手机检测到用户的滑动操作,获取允许应用A的进程在后台活动的指令,并响应该指令,将应用A添加到临时保活白名单中。
可选地,用户可以向左滑动如图3中手机界面e所示的应用A的允许后台活动的切换开关,以禁止应用A的进程在后台活动,手机检测到用户的滑动操作,获取禁止应用A的进程在后台活动的指令,并响应该指令,将应用A从临时保活白名单中删除。
应理解,上述仅仅以应用A的设置为例进行了说明,对于终端设备中的其他应用,用户可以采用类似的设置方法,此处不再赘述。
图4示出了另一设置临时保活白名单的手机界面400。如图4所示,用户可以在当前显示界面底部执行上滑操作,以打开如图4中手机界面a所示的多任务窗口,手机检测到用户的上滑操作,获取进入多任务窗口指令,并响应该指令,显示多任务窗口,如手机界面a所示,该多任务窗口包括应用A和其他应用,用户可以通过在当前显示界面上执行左滑或者右滑的操作,查看其他应用的任务窗口。
可选地,用户还可以通过点击手机上的菜单键、语音唤醒或者其他方式,以进入如图4中手机界面a所示的多任务窗口,本申请对此不作限定。
在手机界面a所示的多任务窗口中,每个任务窗口的右上角显示有一个保活锁,即每个应用对应一个保活锁,该保活锁相当于保活入口,用户可以通过设置保活锁,将应用的任务窗口进行锁定或者解锁,即也就是将应用添加到临时保活白名单中或者将该应用从临时保活白名单中删除。
用户可以点击如图4中手机界面b所示的应用A的任务窗口的保活锁,手机检测到上述点击操作,显示应用A的任务窗口的保活锁窗口,如手机界面c所示,该保活窗口包括“锁定”选项和“管理”选项。
用户可以点击如图4中手机界面c所示的“锁定”选项,以将应用A的任务窗口锁定,手机检测到上述点击操作,将应用A的任务窗口进行锁定,即保持应用A在后台运行,同时,手机将应用A添加到临时保活白名单中。
可选地,用户还可以根据自身需求,点击上述应用A的任务窗口的保活锁,解除锁定上述应用的任务窗口,以将应用A从临时保活白名单中删除,手机检测到用户的点击操作,将该点击操作转换为将上述应用A从临时保活白名单中删除指令,并响应该指令,解除锁定应用A的任务窗口,删除临时保活白名单中的上述应用A。
关于上述为应用A添加保活锁,用户还可以通过其他方式,例如,长按应用A的任务窗口或上滑应用A的任务窗口,将应用A添加到临时保活白名单中,对应地,用户可以再次长按应用A的任务窗口或下滑应用A的任务窗口,将应用A从临时保活白名单中删除,本申请对此不作限定。
应理解,用户还可以根据自身需求点击其他应用的任务窗口的保活锁,以将其他应用添加到临时保活白名单中,此处仅仅以应用A的设置为例进行了说明,对于终端设备中的其他应用,用户可以采用类似的设置方法,此处不再赘述。
在另一种可能的实现方式中,终端设备可以通过智能学习,设置临时保活白名单。这种方法无需用户的参与,更加灵活。
示例性地,终端设备可以通过智能学习获取运行在后台,且短时间内从后台切换回前台运行的应用,并将该应用添加到临时保活白名单中。
图5示出了又一设置临时保活白名单的方法500。如图5所示,方法500包括以下步骤:
S501,终端设备检测到用户的启动应用A(也可以称为第一应用)的进程的指令,并响应于该指令,启动应用A的进程,使应用A在前台运行。
示例性地,用户在使用上述终端设备时,可以点击终端设备的显示界面上的应用A的图标,以打开应用A。终端设备检测到用户的点击操作,并将该点击操作转换为启动应用A的进程的指令。
S502,终端设备检测到用户的打开除该应用A之外的其他应用(也可以称为第二应用)的指令,并响应于该指令,打开其他应用,并将应用A切换至后台运行。
示例性地,用户可以在当前显示界面底部执行上滑操作,以回到桌面。或者,用户可以点击home键,回到桌面。终端设备检测到用户的上滑操作或点击操作,并将该上滑操作或点击操作转换为上述打开除该应用A之外的其他应用的指令。
S503,终端设备判断应用A是否在临时保活白名单中。
S504,在应用A不在临时保活白名单中的情况下,终端设备记录应用A从前台切换至后台运行的时刻t1
S505,终端设备检测到上述用户的第三指令,并响应该第三该指令,打开应用A。
示例性地,用户可以点击终端设备的显示界面上的应用A的图标,以打开应用A;或者,用户可以点击应用A的任务窗口,以打开应用A,终端设备检测到用户的点击操作,并将该点击操作转换为上述打开应用A的指令。
S506,终端设备判断应用A的进程是否重启。
S507,在确定应用A的进程重启的情况下,终端设备记录应用A的进程重启的时刻t2
应理解,当应用A的进程未重启的情况下,由于用户对应用A的使用过程是连续的,用户无感知,所以终端设备可以不作任何操作。
S508,终端设备判断时刻t1和时刻t2之间的时差是否小于或等于预设时长。
应理解,预设时长可以是出厂设置的系统默认时长,也可以是用户自行设置的时长,本申请实施例对此不作限定。该预设时长可以等于临时保活白名单中的应用的保活时长T,也可以小于该保活时长T,本申请实施例对此也不作限定。
S509,在时刻t1和时刻t2之间的时差小于或等于预设时长的情况下,终端设备可以将应用A添加到临时保活白名单中。
应理解,在时刻t1和时刻t2之间的时差大于预设时长的情况下,由于该时差太大,可以认为应用A被用户再次切换回前台运行的几率很小,为避免存在不必要的保活任务,浪费内存以及功耗,所以终端设备可以在应用A被切换至后台时无需执行应用A的保活任务,即无需将应用A添加至临时保活白名单。
可选地,除上述示出的设置临时保活白名单的方法之外,终端设备还可以周期性统计多个应用的使用时长和/或使用频率,将该使用时长和/或使用频率满足条件的应用添加至上述临时保活白名单中。
示例性地,终端设备可以每日定时统计多个应用的使用时长和频率,并可以将使用时长和频率都较高的应用添加到临时保活白名单中。
可选地,终端设备还可以周期性统计多个应用的使用时长和/或使用频率,将临时保活白名单中使用时长和/或使用频率不满足条件的应用删除。
可选地,在上述应用A在临时保活白名单的情况下,终端设备还可以在应用A被切换至后台运行时开启定时器,若在定时器超时之前,应用A一直处于临时保活白名单中且未被重新切换回前台运行的情况下,终端设备可以将应用A从临时保活白名单中删除。
应理解,上述定时器的时长可以是终端设备在出厂时预设的,或者用户设置的,且该定时器的时长可以大于或等于上述时长T。
这样,终端设备可以根据用户对应用的使用情况灵活调整临时保活白名单,从而灵活调整各个应用的保活任务,不仅避免了应用长期在后台运行,占用终端设备的内存,降低了终端设备的功耗,而且能够对有必要的应用在后台进行保活,保证用户对临时保活白名单中的应用的使用连续性,提高了用户体验。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述本申请提供的实施例中,从终端设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
下面将结合附图6和图7,详细描述本申请实施例提供的终端设备。
图6示出了本申请实施例提供的一种终端设备600,该终端设备600包括:处理模块610和计时模块620。
其中,处理模块610用于:响应于用户的第一指令,打开第一应用;响应于上述用户的第二指令,打开第二应用,并将上述第一应用从前台切换至后台运行;计时模块620用于:若上述第一应用不在临时保活白名单中,记录上述第一应用从前台切换至后台运行的第一时刻;上述处理模块610还用于:响应于用户再次打开上述第一应用的第三指令,打开上述第一应用,并判断上述第一应用的进程是否重启;上述计时模块620还用于:若上述第一应用的进程重启,记录上述第一应用的进程重启的第二时刻;上述处理模块610还用于:在上述第二时刻与上述第一时刻之差小于第一阈值的情况下,将上述第一应用添加至上述临时保活白名单中。
可选地,该处理模块610用于:若上述第一应用在上述临时保活白名单中,开启上述第一应用的保活任务,上述保活任务用于保持上述第一应用在第一时间段内处于运行状态;若在上述第一时间段内,未检测到上述用户将上述第一应用从后台切换回前台的第四指令,结束上述第一应用的保活任务。
可选地,该处理模块610用于:若上述第一应用不在上述临时保活白名单中或者上述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;若上述终端设备的内存小于或等于上述第二阈值,结束上述第一应用的进程。
可选地,该处理模块610用于:周期性统计包括上述第二应用的多个应用的使用时长和/或使用频率;将上述使用时长和/或上述使用频率满足条件的应用添加至上述临时保活白名单中。
可选地,该处理模块610用于:若在上述第一时间段内,检测到上述第四指令,响应于上述第四指令,将上述第一应用从后台切换至前台运行。
应理解,这里的终端设备600以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,终端设备600可以具体为上述实施例中的终端设备,或者,上述实施例中终端设备的功能可以集成在终端设备600中,终端设备600可以用于执行上述方法实施例中与终端设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述终端设备600具有实现上述方法中终端设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的实施例,图6中的终端设备600也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。
图7示出了本申请实施例提供的另一终端设备700。该终端设备700包括:处理器701和存储器702,通信接口703以及总线704。其中,存储器702用于存储指令,该处理器701用于执行该存储器702存储的指令。处理器701、存储器702和通信接口703通过总线704实现彼此之间的通信连接。
其中,处理器701用于:响应于用户的第一指令,打开第一应用;响应于上述用户的第二指令,打开第二应用,并将上述第一应用从前台切换至后台运行;若上述第一应用不在临时保活白名单中,记录上述第一应用从前台切换至后台运行的第一时刻;响应于用户再次打开上述第一应用的第三指令,打开上述第一应用,并判断上述第一应用的进程是否重启;若上述第一应用的进程重启,记录上述第一应用的进程重启的第二时刻;以及,在上述第二时刻与上述第一时刻之差小于第一阈值的情况下,将上述第一应用添加至上述临时保活白名单中。
可选地,该处理器701用于:若上述第一应用在上述临时保活白名单中,开启上述第一应用的保活任务,上述保活任务用于保持上述第一应用在第一时间段内处于运行状态;若在上述第一时间段内,未检测到上述用户将上述第一应用从后台切换回前台的第四指令,结束上述第一应用的保活任务。
可选地,该处理器701用于:若上述第一应用不在上述临时保活白名单中或者上述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;若上述终端设备的内存小于或等于上述第二阈值,结束上述第一应用的进程。
可选地,该处理器701用于:周期性统计包括上述第二应用的多个应用的使用时长和/或使用频率;将上述使用时长和/或上述使用频率满足条件的应用添加至上述临时保活白名单中。
可选地,该处理器701用于:若在上述第一时间段内,检测到上述第四指令,响应于上述第四指令,将上述第一应用从后台切换至前台运行。
应理解,终端设备700可以具体为上述实施例中的终端设备,或者,上述实施例中终端设备的功能可以集成在终端设备700中,终端设备700可以用于执行上述方法实施例中与终端设备对应的各个步骤和/或流程。可选地,该存储器702可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器701可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种应用保活方法,其特征在于,包括:
响应于用户的第一指令,打开第一应用;
响应于所述用户的第二指令,打开第二应用,并将所述第一应用从前台切换至后台运行;
若所述第一应用不在临时保活白名单中,记录所述第一应用从前台切换至后台运行的第一时刻;
响应于用户再次打开所述第一应用的第三指令,打开所述第一应用,并判断所述第一应用的进程是否重启;
若所述第一应用的进程重启,记录所述第一应用的进程重启的第二时刻;
在所述第二时刻与所述第一时刻之差小于第一阈值的情况下,将所述第一应用添加至所述临时保活白名单中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一应用在所述临时保活白名单中,开启所述第一应用的保活任务,所述保活任务用于保持所述第一应用在第一时间段内处于运行状态;
若在所述第一时间段内,未检测到所述用户将所述第一应用从后台切换回前台的第四指令,结束所述第一应用的保活任务。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一应用不在所述临时保活白名单中或者所述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;
若所述终端设备的内存小于或等于所述第二阈值,结束所述第一应用的进程。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
周期性统计包括所述第二应用的多个应用的使用时长和/或使用频率;
将所述使用时长和/或所述使用频率满足条件的应用添加至所述临时保活白名单中。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在所述第一时间段内,检测到所述第四指令,响应于所述第四指令,将所述第一应用从后台切换至前台运行。
6.一种终端设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行下列方法:
响应于用户的第一指令,打开第一应用;
响应于所述用户的第二指令,打开第二应用,并将所述第一应用从前台切换至后台运行;
若所述第一应用不在临时保活白名单中,记录所述第一应用从前台切换至后台运行的第一时刻;
响应于用户再次打开所述第一应用的第三指令,打开所述第一应用,并判断所述第一应用的进程是否重启;
若所述第一应用的进程重启,记录所述第一应用的进程重启的第二时刻;
在所述第二时刻与所述第一时刻之差小于第一阈值的情况下,将所述第一应用添加至所述临时保活白名单中。
7.根据权利要求6所述的终端设备,其特征在于,所述处理器用于:
若所述第一应用在所述临时保活白名单中,开启所述第一应用的保活任务,所述保活任务用于保持所述第一应用在第一时间段内处于运行状态;
若在所述第一时间段内,未检测到所述用户将所述第一应用从后台切换回前台的第四指令,结束所述第一应用的保活任务。
8.根据权利要求6所述的终端设备,其特征在于,所述处理器用于:
若所述第一应用不在所述临时保活白名单中或者所述第一应用的保活任务已结束,确定终端设备的内存是否小于或等于第二阈值;
若所述终端设备的内存小于或等于所述第二阈值,结束所述第一应用的进程。
9.根据权利要求6至8中任一项所述的终端设备,其特征在于,所述处理器用于:
周期性统计包括所述第二应用的多个应用的使用时长和/或使用频率;
将所述使用时长和/或所述使用频率满足条件的应用添加至所述临时保活白名单中。
10.根据权利要求7所述的终端设备,其特征在于,所述处理器用于:
若在所述第一时间段内,检测到所述第四指令,响应于所述第四指令,将所述第一应用从后台切换至前台运行。
11.一种终端设备,其特征在于,所述终端设备用于实现权利要求1至5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至5中任一项所述的方法的指令。
13.一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至5中任一项所述的方法。
CN202110456691.6A 2021-04-27 2021-04-27 应用保活方法和终端设备 Active CN112988282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110456691.6A CN112988282B (zh) 2021-04-27 2021-04-27 应用保活方法和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110456691.6A CN112988282B (zh) 2021-04-27 2021-04-27 应用保活方法和终端设备

Publications (2)

Publication Number Publication Date
CN112988282A true CN112988282A (zh) 2021-06-18
CN112988282B CN112988282B (zh) 2021-08-20

Family

ID=76340326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110456691.6A Active CN112988282B (zh) 2021-04-27 2021-04-27 应用保活方法和终端设备

Country Status (1)

Country Link
CN (1) CN112988282B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741994A (zh) * 2021-06-26 2021-12-03 荣耀终端有限公司 一种视频应用的保活方法以及电子设备
CN114168355A (zh) * 2021-10-29 2022-03-11 荣耀终端有限公司 一种应用保活方法及电子设备
CN114463730A (zh) * 2021-07-15 2022-05-10 荣耀终端有限公司 一种页面识别方法及终端设备
WO2023005783A1 (zh) * 2021-07-26 2023-02-02 华为技术有限公司 数据处理方法及电子设备
EP4152136A4 (en) * 2021-08-04 2023-11-01 Honor Device Co., Ltd. MULTIPLE TASK MANAGEMENT METHOD AND TERMINAL DEVICE
CN117724634A (zh) * 2023-07-31 2024-03-19 荣耀终端有限公司 一种应用程序的进程管理方法和装置

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130031599A1 (en) * 2011-07-27 2013-01-31 Michael Luna Monitoring mobile application activities for malicious traffic on a mobile device
US20140204815A1 (en) * 2013-01-23 2014-07-24 Seven Networks, Inc. Application or context aware fast dormancy
CN105389116A (zh) * 2015-12-03 2016-03-09 广东欧珀移动通信有限公司 用于终端设备的终端应用处理方法和系统、终端设备
CN105653934A (zh) * 2015-12-25 2016-06-08 惠州Tcl移动通信有限公司 移动终端及其应用保护方法
CN106648861A (zh) * 2016-12-05 2017-05-10 广州优视网络科技有限公司 后台服务进程的保活方法及装置
CN106951291A (zh) * 2017-03-28 2017-07-14 努比亚技术有限公司 应用程序加速启动方法及装置
CN107087300A (zh) * 2017-05-23 2017-08-22 深圳天珑无线科技有限公司 应用处理方法及装置
CN107608853A (zh) * 2017-09-06 2018-01-19 广东欧珀移动通信有限公司 终端使用时间的控制方法、装置、存储介质及智能终端
CN107844342A (zh) * 2017-11-21 2018-03-27 广东欧珀移动通信有限公司 应用程序保活的管控方法、装置及存储介质和移动终端
CN107908273A (zh) * 2017-11-14 2018-04-13 广东欧珀移动通信有限公司 应用管理方法、装置、存储介质及电子设备
CN108920263A (zh) * 2018-06-08 2018-11-30 上海连尚网络科技有限公司 用于应用保持的方法与设备
CN109376027A (zh) * 2018-09-26 2019-02-22 深圳壹账通智能科技有限公司 一种异常销毁进程的处理方法及终端
CN111752632A (zh) * 2020-06-01 2020-10-09 Oppo(重庆)智能科技有限公司 移动终端的控制方法、装置、移动终端以及存储介质
CN112162626A (zh) * 2020-10-16 2021-01-01 广州虎牙信息科技有限公司 一种应用程序处理方法及装置
CN112286652A (zh) * 2020-09-17 2021-01-29 福州云联畅想软件科技有限公司 一种安卓app后台保活的方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130031599A1 (en) * 2011-07-27 2013-01-31 Michael Luna Monitoring mobile application activities for malicious traffic on a mobile device
US20140204815A1 (en) * 2013-01-23 2014-07-24 Seven Networks, Inc. Application or context aware fast dormancy
CN105389116A (zh) * 2015-12-03 2016-03-09 广东欧珀移动通信有限公司 用于终端设备的终端应用处理方法和系统、终端设备
CN105653934A (zh) * 2015-12-25 2016-06-08 惠州Tcl移动通信有限公司 移动终端及其应用保护方法
CN106648861A (zh) * 2016-12-05 2017-05-10 广州优视网络科技有限公司 后台服务进程的保活方法及装置
CN106951291A (zh) * 2017-03-28 2017-07-14 努比亚技术有限公司 应用程序加速启动方法及装置
CN107087300A (zh) * 2017-05-23 2017-08-22 深圳天珑无线科技有限公司 应用处理方法及装置
CN107608853A (zh) * 2017-09-06 2018-01-19 广东欧珀移动通信有限公司 终端使用时间的控制方法、装置、存储介质及智能终端
CN107908273A (zh) * 2017-11-14 2018-04-13 广东欧珀移动通信有限公司 应用管理方法、装置、存储介质及电子设备
CN107844342A (zh) * 2017-11-21 2018-03-27 广东欧珀移动通信有限公司 应用程序保活的管控方法、装置及存储介质和移动终端
CN108920263A (zh) * 2018-06-08 2018-11-30 上海连尚网络科技有限公司 用于应用保持的方法与设备
CN109376027A (zh) * 2018-09-26 2019-02-22 深圳壹账通智能科技有限公司 一种异常销毁进程的处理方法及终端
CN111752632A (zh) * 2020-06-01 2020-10-09 Oppo(重庆)智能科技有限公司 移动终端的控制方法、装置、移动终端以及存储介质
CN112286652A (zh) * 2020-09-17 2021-01-29 福州云联畅想软件科技有限公司 一种安卓app后台保活的方法
CN112162626A (zh) * 2020-10-16 2021-01-01 广州虎牙信息科技有限公司 一种应用程序处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
任雁军: "一种Android进程保护方案", 《信息与电脑(理论版)》 *
何远德等: "基于白名单与主动防御混搭的安卓终端安全应用研究", 《西南民族大学学报(自然科学版)》 *
颜宏冰: "安卓应用中资源滥用行为检测方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741994A (zh) * 2021-06-26 2021-12-03 荣耀终端有限公司 一种视频应用的保活方法以及电子设备
EP4216058A4 (en) * 2021-06-26 2024-01-03 Honor Device Co., Ltd. CONNECTION MAINTENANCE METHOD FOR VIDEO APPLICATION AND ELECTRONIC DEVICE
CN114463730A (zh) * 2021-07-15 2022-05-10 荣耀终端有限公司 一种页面识别方法及终端设备
WO2023005783A1 (zh) * 2021-07-26 2023-02-02 华为技术有限公司 数据处理方法及电子设备
EP4152136A4 (en) * 2021-08-04 2023-11-01 Honor Device Co., Ltd. MULTIPLE TASK MANAGEMENT METHOD AND TERMINAL DEVICE
CN114168355A (zh) * 2021-10-29 2022-03-11 荣耀终端有限公司 一种应用保活方法及电子设备
WO2023071582A1 (zh) * 2021-10-29 2023-05-04 荣耀终端有限公司 一种应用保活方法及电子设备
EP4227806A4 (en) * 2021-10-29 2024-01-24 Honor Device Co., Ltd. METHOD FOR MAINTAINING APPLICATION CONNECTION AND ELECTRONIC DEVICE
CN117724634A (zh) * 2023-07-31 2024-03-19 荣耀终端有限公司 一种应用程序的进程管理方法和装置

Also Published As

Publication number Publication date
CN112988282B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN112988282B (zh) 应用保活方法和终端设备
CN109660842B (zh) 一种播放多媒体数据的方法及电子设备
CN110347269B (zh) 一种空鼠模式实现方法及相关设备
CN111552451B (zh) 显示控制方法及装置、计算机可读介质及终端设备
CN112995731B (zh) 切换多媒体设备的方法和系统
CN113747346B (zh) 终端设备的待机方法和终端设备
CN111078376A (zh) 一种进程管理方法及设备
CN113473013A (zh) 图像美化效果的显示方法、装置和终端设备
CN113497851B (zh) 控制显示方法及电子设备
CN114095602B (zh) 索引显示方法、电子设备及计算机可读存储介质
CN109285563B (zh) 在线翻译过程中的语音数据处理方法及装置
CN115113716A (zh) 一种息屏显示参数的调节方法和终端设备
CN113963732B (zh) 音频播放方法和终端设备
CN113656099B (zh) 一种应用快捷启动方法、装置和终端设备
CN114375027A (zh) 降低功耗的方法和装置
WO2022183941A1 (zh) 消息回复的方法和装置
CN114816027B (zh) 降低可穿戴设备功耗的方法及相关装置
WO2022188632A1 (zh) 主题展示方法、装置、终端及计算机存储介质
CN115309300A (zh) 消息显示方法、电子设备及计算机可读存储介质
CN115729653A (zh) 参数调节方法和终端设备
CN118519518A (zh) 显示屏控制方法、设备和系统
CN113253822A (zh) 温度控制参数的调节方法和终端设备
CN115002616A (zh) 一种基于人脸情感识别的音频播放系统
CN115114547A (zh) 一种网页显示方法、装置及系统
CN115016698A (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