CN113326106A - 一种应用管理方法及装置 - Google Patents

一种应用管理方法及装置 Download PDF

Info

Publication number
CN113326106A
CN113326106A CN202010135044.0A CN202010135044A CN113326106A CN 113326106 A CN113326106 A CN 113326106A CN 202010135044 A CN202010135044 A CN 202010135044A CN 113326106 A CN113326106 A CN 113326106A
Authority
CN
China
Prior art keywords
application
running
terminal device
background
unmarked
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.)
Pending
Application number
CN202010135044.0A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010135044.0A priority Critical patent/CN113326106A/zh
Publication of CN113326106A publication Critical patent/CN113326106A/zh
Pending legal-status Critical Current

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/461Saving or restoring of program or task context
    • 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/466Transaction processing
    • G06F9/467Transactional memory

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为本申请实施例提供的另一种应用管理装置的结构示意图。
具体实施方式
应用在终端设备上的运行一般分为前台运行和后台运行。其中,应用在前台运行时,终端设备的显示界面会显示该应用的相关操作界面,并且用户可以通过终端设备与该应用进行直接交互。例如,基于用户操作执行相应的功能等。而应用在后台运行时,终端设备的显示界面不显示该应用的相关操作界面,用户不能直接对应用进行相关的控制操作。
例如,终端设备冷启动应用1后,应用1在前台运行。当终端设备冷启动应用2时,终端设备执行应用的切换,应用1进入后台运行,应用2在前台运行。当终端设备热启动应用1时,应用1从后台运行切换到前台运行,应用2进入后台运行。
其中,冷启动是指应用在终端设备中无缓存的部分数据,应用需要进行数据和界面的初始化操作实现启动,启动过程较慢。热启动是指终端设备的后台运行有该应用的进程,应用无需进行数据和界面的初始化操作实现的启动。即,热启动可以理解为应用从后台运行转换为前台运行的启动过程。相比于冷启动,热启动的启动时间更短。
无论是在前台运行还是在后台运行,应用的运行需要都终端设备提供足够的内存空间。为了保证在前台运行的应用的运行流畅性,终端设备需要在内存不足的情况下,对在后台运行的应用进行保活和查杀。例如,终端设备基于应用的优先级,从优先级等级最低的应用开始查杀。被查杀的应用结束运行,释放所占用的内存空间。当终端设备再次启动被查杀的应用时,则需要进行冷启动。
例如,终端设备中当前运行有应用1、应用2和应用3。假设应用1和应用2均为在后台运行的应用,应用3在前台运行。当终端设备检测到可用内存不足时,终端设备则根据应用1和应用2的优先级进行进行保活和查杀。若应用1的优先级等级高于应用2的优先级等级。终端设备可以先查杀应用2。应用2被查杀掉后,若终端设备的可用内存仍然不足,终端设备则继续查杀应用1。
目前这种保活和查杀机制,往往无法满足内存空间较小的终端设备对应用的保活需求。例如,一些常用的应用需要占用较大的内存空间在后台运行。而终端设备的内存空间较小,导致终端所能提供的用于后台运行的内存空间不足以支持常用的应用的保活。因此,基于目前的保活和查杀机制,终端设备会频繁的将这些应用查杀掉,导致终端设备需要经常性的采用冷启动的方式来启动常用应用。
为了解决这一问题,本申请中提供一种应用管理方法,通过对应用中的进程进行查杀,仅维持运行运行应用中的标记进程,而查杀掉应用中的未标记进程。从而降低了应用在保活过程中占用的内存空间,从而降低应用被查杀掉的概率,减少冷启动次数。
下面通过具体实施例,对本申请提供的应用管理方法进行示例性的说明。
在本申请的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有说明,本文中“/”一般表示前后关联对象是一种“或”的关系,例如,A/B可以表示A或B。术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请的描述中,“多个”是指两个或两个以上。
本申请提供的应用管理方法应用于终端设备,具体可以是采用安卓系统的终端设备。在本申请实施例中,终端设备可以是平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能手机等,本申请实施例对终端设备的具体类型不作任何限制。
参见图1,为本申请实施例提供的一种终端设备的部分结构的框图,包括:处理器100、存储器110、通信模块120、输入模块130、显示模块140、音频模块150、传感器模块160、定位系统170等部件。本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,处理器100可以包括如下至少一种类型:中央处理单元(CentralProcessing Unit,CPU),该处理器100还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器110可用于存储软件程序以及模块,处理器100通过运行存储在存储器110的软件程序以及模块,从而执行终端设备的各种应用以及数据处理。存储器110可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、应用程序等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器110可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,通信模块120用于处理器100的控制下实现信号的接收和发送。该通信模块120可以包括射频(Radio Frequency,RF)电路。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(low noise amplifier,低噪声放大器)、双工器等。此外,RF电路还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(global system of mobile communication,全球移动通讯系统)、GPRS(general packet radio service,通用分组无线服务)、CDMA(code divisionmultiple access,码分多址)、WCDMA(wideband code division multiple access,宽带码分多址)、LTE(long term evolution,长期演进)、电子邮件、SMS(short messagingservice,短消息服务)、短距离通信技术(例如无线保真(wireless fidelity,WiFi)通信)等。
输入模块130可用于接收输入的数字、字符、语音信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入和语音信号输入。具体地,输入模块130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器100,并能接收处理器100发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入模块130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示模块140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示模块140可包括显示面板141,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器100根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
音频模块150可以包括音频电路150、扬声器151和传声器152等,可提供用户与终端设备之间的音频接口。音频电路150可将接收到的音频数据转换后的电信号,传输到扬声器151,由扬声器151转换为声音信号输出;另一方面,传声器152将收集的声音信号(例如,用户输入的语音)转换为电信号,由音频电路150接收后转换为音频数据,再将音频数据输出处理器100处理。
传感器模块160可以包括温度传感器、加速度传感器、陀螺仪、重力传感器等。
定位系统170可以实现终端设备的定位,应用定位类应用。定位系统170可以包括全球定位系统(Global Positioning System,GPS)、北斗定位系统等。
另外,尽管未示出,终端设备还可以包括电源模块、摄像头等,在此不再赘述。
图2为本申请一个实施例提供的一种应用管理方法的示意流程图。如图2所示,该应用管理方法包括:
S201,终端设备检测该终端设备的可用内存。
在本申请实施例中,终端设备可以周期性的检测该终端设备的可用内存。也可以在检测到应用前台后台切换事件发生时,检测该终端设备的可用内存。
其中,应用前台后台切换事件可以包括应用从前台运行切换到后台运行的事件,和/或从后台运行切换到前台运行的事件。
可以理解的是,当发生应用从前台运行切换到后台运行的事件时,相应的也会发生从后台运行切换到前台运行的事件。
S202,当所述终端设备的可用内存不足时,根据应用进程列表确定在后台运行的应用中的标记进程,所述标记进程为所述应用中需要保活的进程。
其中,可用内存不足可以是终端设备中剩余的内存空间小于预设的阈值,或者是,终端设备中剩余的内存空间不足以继续缓存当前运行的应用的数据。
在本身申请实施例中,终端设备中预先设置有一个应用进程列表,该应用进程列表具体可以设置在终端设备的系统服务层。应用进程列表中记录有当前正在运行的所有应用的标记进程。
示例性的,标记进程可以包括应用在冷启动时首个界面的视图显示进程和/或应用中的可感知进程等。
其中,应用在冷启动时的首个界面往往是应用在进行初始化时显示的界面。例如,微信的在冷启动时显示的地球界面。
应用中的可感知进程为能够实现应用的主要功能的进程,或者调用终端设备的传感器(sensor)、定位系统、音频模块、麦克风等其他组件的进程。
例如,微信的主要功能为社交,那么用于进行聊天显示的视图显示进程为微信的可感知进程。运动类应用的主要功能为记录运动数据,因此读取终端设备中传感器数据和处理传感器数据的进程为运动类应用的可感知进程。地图应用的主要功能为导航,那么用于读取定位系统的数据的进程,以及显示地图的视图显示进程为地图应用的可感知进程。音乐播放应用的主要功能为播放音乐,那么调用音频模块进行音乐播放的进程为音乐播放应用的可感知进程。录音类应用的主要功能为录音,那么调用麦克风进行录音的进程为录音类应用的可感知进程,等待。
终端设备可以在应用的活跃(activity)初始化函数中设置埋点。应用中的每个进程启动时,都会调用activity初始化函数进行activity的初始化操作。因此,终端设备在活跃(activity)初始化函数中设备埋点后,可以获取应用中的每个进程的信息。包括每个进程的优先级、进程标识(ID)、权限信息等。
例如,终端设备可以在检测到第一个进行activity的初始化操作的视图显示进程时,确定该视图显示进程即为首个界面的视图显示进程。终端设备还可以在获取到每个进程的信息后,通过解析每个进程的权限信息,获知各个进程是否调用终端设备传感器、定位系统、音频模块、麦克风等其他组件。进而确定各个进程是否为可感知进程。
可选的,标记进程也可以为应用中优先级等级高于预设等级的进程。例如,进程的优先级包括1、10、100、1000等。其中,优先级为1的优先级等级高于优先级为10的优先级等级;优先级为10的优先级等级高于优先级为100的优先级等级;优先级为100的优先级等级高于优先级为1000的优先级等级。假设,预设等级为优先级为10的优先级等级。那么,当终端设备activity初始化函数中埋点时,获知应用的某个进程的优先级为1,终端设备则可以确定该进程为该应用的标记进程,并将该进程进路在应用进程列表中。
在本申请实施例中,终端设备可以以应用的应用包名作为关键字,在应用进程列表中记录每个运行中的应用的进程信息。
可选的,应用进程列表中还可以包括前运行的每个应用的优先级信息。终端设备在应用冷启动时,可以获取应用中所有进程的优先级,终端设备可以确定应用的优先级为该应用所有进程的优先级中优先级等级最高的优先级。
示例性的,如表1所示,假设,当前运行的应用包括应用1和应用2,应用进程列表可以如下表1所示。
表1
Figure BDA0002395748060000061
当应用3冷启动时,终端设备通过在应用3的activity初始化函数中的埋点,确定应用3的进程33为应用3的标记进程。那么,终端设备以应用包名“应用3”为关键字,在应用进程列表中记录应用3的进程33为标记进程。另外,终端设备确定应用33的所有进程中,优先级等级最高的进程的优先级为1,则终端设备可以确定应用33的优先级为1。
那么,在应用3冷启动后,应用进程列表可以从表1更新为如下表2所示。
表2
Figure BDA0002395748060000062
S203,终端设备维持运行标记进程,并结束运行应用中的未标记进程,未标记进程为应用中除标记进程外的剩余进程。
其中,终端设备维持运行标记进程,即为终端设备将应用中的标记进行保活。终端设备结束运行应用中的未标记进程,即为终端设备查杀应用中的未标记进程。
在本申请实施例中,终端设备通过保活在后台运行的应用中的标记进程,实现应用的保活,并且通过查杀掉应用中的未标记进程来释放内存空间。减少了应用在保活时占用的内存空间,进而降低了由于内存不足导致在后台运行的应用被查杀的概率,减少了应用的冷启动次数。
作为示例而非限定,当存在多个在后台运行的应用时,终端设备可以选择直接结束运行每一个在后台运行的应用中的未标记进程。从而提高进程查杀效率。
示例性的,如图3所示,终端设备中当前运行有应用1、应用2和应用3。其中,应用1中运行的进程包括进程11、进程12、进程13、进程14。应用2中运行的进程包括进程21、进程22、进程23、进程24。应用3中运行的进程包括进程31、进程32、进程33。
假设应用1和应用2均为在后台运行的应用,应用3在前台运行。当终端设备检测到可用内存不足时,终端设备则基于表2,确定应用1中标记进程包括进程11和进程12,未标记进程包括进程13和进程14,应用2中标记进程包括进程21和进程22,未标记进程包括进程23和进程24。终端设备通过对应用1和应用2进行保活和查杀后,终端设备中当前运行的进程有应用1中的进程11和进程12、应用2中的进程21和进程22、以及应用3中的进程31、进程32、进程33。
可选的,当应用进程列表中还记录有当前正运行的所有应用的优先级信息时。终端设备可以基于在后台运行的应用的优先级,进行进程查杀。例如,当存在多个在后台运行的应用时,终端设备可以按照优先级等级从低到高的顺序依次结束该多个在后台运行的应用中的未标记进程。
示例性的,如图4所示,终端设备中当前运行有应用1、应用2和应用3。其中,应用1中运行的进程包括进程11、进程12、进程13、进程14。应用2中运行的进程包括进程21、进程22、进程23、进程24。应用3中运行的进程包括进程31、进程32、进程33。
假设应用1和应用2均为在后台运行的应用,应用3在前台运行。当终端设备检测到可用内存不足时,终端设备则基于表2,确定可以先对优先级等级最低的应用2进行查杀。终端设备基于表2,确定应用2中标记进程包括进程21和进程22,未标记进程包括进程23和进程24。终端设备通过对应用2进行保活和查杀后,终端设备中当前运行的进程有应用1中的进程11、进程12、进程13、进程14、应用2中的进程21和进程22、以及应用3中的进程31、进程32、进程33。此时,如果终端设备检测到可用内存暂时足够,终端设备即可停止对应用1的查杀。
值得说明的是,一方面,在内存空间不充裕的终端设备中,采用本申请提供的应用管理方法,可以实现大应用(即占用内存空间较多应用)的保活,提升大应用的用户体验。例如,在内存空间未4GB的终端设备中,采用本申请提供的应用管理方法,微信的地球界面的查杀率降低77.78%,微信聊天显示的视图显示进程的查杀率降低50%,因此,微信的冷启动次数被大大降低。
另一方面,在内存空间不充裕的终端设备中,针对常驻应用保活场景,采用本申请提供的应用管理方法,能提升可用内存。例如:运动健康类应用启动后,无论除了对运动数据和健康数据的采集才处理进程,其他附带进程也会启动,例如提醒播报进程、数据上传进程等。这就会导致内存浪费,增加应用被查杀的概率。采用本申请提供的应用管理方法后,能够查杀掉例如例如提醒播报进程、数据上传进程等非核心功能进程,可用内存增加100M以上。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的应用管理方法,图5示出了本申请实施例提供的应用管理装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该应用管理装置包括:
确定单元501,用于当所述终端设备的可用内存不足时,根据应用进程列表确定在后台运行的应用中的标记进程,所述标记进程为所述应用中需要保活的进程。
处理单元502,用于维持运行所述标记进程,并结束运行所述应用中的未标记进程,所述未标记进程为所述应用中除所述标记进程外的剩余进程。
在一个实施例中,如图5所示,所述应用管理装置还包括检测单元503;所述检测单元503,用于检测应用前后台切换事件,并当检测到所述应用前后台切换事件发生时,检测所述终端设备的可用内存。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、至少一个存储器以及存储在所述至少一个存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。示例性的,终端设备的结构可以如图1所示。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种应用管理方法,应用于终端设备,其特征在于,所述方法包括:
当检测到所述终端设备的可用内存不足时,根据应用进程列表确定在后台运行的应用中的标记进程,所述标记进程为所述应用中需要保活的进程;
维持运行所述标记进程,并结束运行所述应用中的未标记进程,所述未标记进程为所述应用中除所述标记进程外的剩余进程。
2.根据权利要求1所述的方法,其特征在于,所述标记进程包括所述应用在冷启动时首个界面的视图显示进程,和/或所述应用中的可感知进程。
3.根据权利要求2所述的方法,其特征在于,所述标记进程为所述应用中优先级等级高于预设等级的进程。
4.根据权利要求1-3任一项所述的方法,其特征在于,若存在多个在后台运行的应用,则结束运行每一个在后台运行的应用中的未标记进程。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述应用进程列表中还记录有当前正运行的所有应用的优先级信息;若存在多个在后台运行的应用,则按照优先级等级从低到高的顺序依次结束所述多个在后台运行的应用中的未标记进程。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
当检测到应用前后台切换事件发生时,检测所述终端设备的可用内存。
7.一种应用管理装置,其特征在于,包括:
确定单元,用于当所述终端设备的可用内存不足时,根据应用进程列表确定在后台运行的应用中的标记进程,所述标记进程为所述应用中需要保活的进程;
处理单元,用于维持运行所述标记进程,并结束运行所述应用中的未标记进程,所述未标记进程为所述应用中除所述标记进程外的剩余进程。
8.根据权利要求7所述的应用管理装置,其特征在于,所述应用管理装置还包括检测单元;
所述检测单元,用于检测应用前后台切换事件,并当检测到所述应用前后台切换事件发生时,检测所述终端设备的可用内存。
9.一种终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
CN202010135044.0A 2020-02-28 2020-02-28 一种应用管理方法及装置 Pending CN113326106A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010135044.0A CN113326106A (zh) 2020-02-28 2020-02-28 一种应用管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010135044.0A CN113326106A (zh) 2020-02-28 2020-02-28 一种应用管理方法及装置

Publications (1)

Publication Number Publication Date
CN113326106A true CN113326106A (zh) 2021-08-31

Family

ID=77413107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010135044.0A Pending CN113326106A (zh) 2020-02-28 2020-02-28 一种应用管理方法及装置

Country Status (1)

Country Link
CN (1) CN113326106A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092700A (zh) * 2013-02-01 2013-05-08 华为终端有限公司 内存清理方法、装置和终端设备
WO2018059076A1 (zh) * 2016-09-27 2018-04-05 华为技术有限公司 一种内存回收方法及装置
CN109358955A (zh) * 2018-09-27 2019-02-19 联想(北京)有限公司 进程管理方法和装置
US20190303206A1 (en) * 2018-03-30 2019-10-03 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092700A (zh) * 2013-02-01 2013-05-08 华为终端有限公司 内存清理方法、装置和终端设备
WO2018059076A1 (zh) * 2016-09-27 2018-04-05 华为技术有限公司 一种内存回收方法及装置
US20190303206A1 (en) * 2018-03-30 2019-10-03 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium
CN109358955A (zh) * 2018-09-27 2019-02-19 联想(北京)有限公司 进程管理方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
(美)(L.普尔)LON POOLE著: "《Mac OS 8使用详解》", 31 January 1999 *
李小军著, 华南理工大学出版社 *

Similar Documents

Publication Publication Date Title
US10635449B2 (en) Method and apparatus for running game client
CN109213539B (zh) 一种内存回收方法及装置
US10922131B2 (en) Application function control method and related product
US10956316B2 (en) Method and device for processing reclaimable memory pages, and storage medium
CN110888821B (zh) 一种内存管理方法及装置
US10698837B2 (en) Memory processing method and device and storage medium
CN108536480B (zh) 输入法配置方法及相关产品
CN107870874B (zh) 一种数据写入控制方法及存储设备
CN109992399B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN106776040A (zh) 一种资源分配方法及装置
US9742901B2 (en) Method, apparatus and terminal device for obtaining call log
CN111880928B (zh) 选择进程进行释放的方法、终端设备
CN104426926A (zh) 定时发布数据的处理方法及装置
CN110602766B (zh) 一种个人热点识别方法和终端之间关联关系的确定方法
CN105306611A (zh) 一种识别短信端口号归属的方法及装置
CN106383870A (zh) 一种图片播放方法及移动终端
CN107220344B (zh) 文件处理方法及相关产品
CN106851023B (zh) 一种快速拨打电话的方法和设备以及移动终端
CN113326106A (zh) 一种应用管理方法及装置
CN110109788B (zh) 多按键检测方法、装置、电子设备及存储介质
CN109992361B (zh) 应用冻结方法、装置、终端及计算机可读存储介质
CN106899733B (zh) 智能终端及系统通讯录电话号码处理方法和装置
CN112083887B (zh) 一种数据处理方法及相关设备
CN112199049B (zh) 一种指纹储存方法、装置及终端
CN108037839A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210831