CN107665147B - 一种移动设备的系统清理方法及移动设备 - Google Patents

一种移动设备的系统清理方法及移动设备 Download PDF

Info

Publication number
CN107665147B
CN107665147B CN201710882402.2A CN201710882402A CN107665147B CN 107665147 B CN107665147 B CN 107665147B CN 201710882402 A CN201710882402 A CN 201710882402A CN 107665147 B CN107665147 B CN 107665147B
Authority
CN
China
Prior art keywords
application
applications
memory
cleanable
sequence
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
CN201710882402.2A
Other languages
English (en)
Other versions
CN107665147A (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.)
Xiamen Meitu Mobile Technology Co Ltd
Original Assignee
Xiamen Meitu Mobile Technology 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 Xiamen Meitu Mobile Technology Co Ltd filed Critical Xiamen Meitu Mobile Technology Co Ltd
Priority to CN201710882402.2A priority Critical patent/CN107665147B/zh
Publication of CN107665147A publication Critical patent/CN107665147A/zh
Application granted granted Critical
Publication of CN107665147B publication Critical patent/CN107665147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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

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)
  • Telephone Function (AREA)

Abstract

本发明公开了一种移动设备的系统清理方法,该方法包括步骤:在自动清理模式下,获取当前可清理应用列表;获取可清理应用列表中每个应用的内存参数并计算内存参数的权重值;按照权重值对可清理应用列表中的应用进行排序生成第一序列;按照每个应用的预置等级值对第一序列进行排序生成第二序列;以及按照第二序列的顺序依次对所述可清理应用列表中的应用进行内存清理。本发明一并公开了用于执行该方法的移动设备。

Description

一种移动设备的系统清理方法及移动设备
技术领域
本发明涉及移动设备领域,特别涉及一种移动设备的系统清理方法及移动设备。
背景技术
随着智能移动设备应用软件的大量面市以及应用软件(以下简称“应用”)的复杂度不断提高,移动设备的内存及CPU资源愈发紧张。即便是为移动设备搭载2GB、4GB、6GB甚至更高容量的内存,随着移动设备运行时间加长,后台驻留程序越来越多,内存剩余量将不断减少,当有新应用要启动或者切换时,申请内存的时间会越来越长。当内存剩余量达到一定比例时,很容易就会出现内存原因导致的整机运行卡顿。特别是在内存容量较小的移动设备上,内存原因导致的卡顿特别明显。
因此在应用占用的内存资源较多时,需要对应用占用的内存资源或CPU资源进行清理释放,使得移动设备系统可使用较多的可用资源。
在现有的移动设备的系统清理方案中,常见的方案是对后台进程进行比较简单的查杀,不考虑移动设备的使用环境、用户的使用习惯以及应用的状态等,这种方法的用户体验比较差。还有一种方案是使用白名单对其进行维护,但随着应用的不断增加、升级和多样化,以及用户对不同应用的喜好程度,白名单的维护成本大量增加,若白名单更新不及时,也会直接影响到移动设备的系统清理效果。
综上,提供一种移动设备的系统清理方法,能够根据应用的使用情况进行内存清理,以减少移动设备的系统资源浪费,已成为本领域技术人员亟需解决的问题。
发明内容
为此,本发明提供了一种移动设备的系统清理方法及移动设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种移动设备的系统清理方法,该方法包括步骤:在自动清理模式下,获取当前可清理应用列表;获取可清理应用列表中每个应用的内存参数并计算内存参数的权重值;按照所述权重值对可清理应用列表中的应用进行排序生成第一序列;按照每个应用的预置等级值对第一序列进行排序生成第二序列;以及按照第二序列的顺序依次对可清理应用列表中的应用进行内存清理。
可选地,在根据本发明的系统清理方法中,每个应用的内存参数包括:每个应用的累计使用次数、累计使用时长、最后一次使用相对于当前时间的间隔时间和应用的内存使用量。
可选地,在根据本发明的系统清理方法中,计算内存参数的权重值的步骤包括:对每个应用的内存参数分别进行归一化处理,得到每个内存参数的权重因子;将每个内存参数的权重因子相加得到该应用对应内存参数的权重值。
可选地,在根据本发明的系统清理方法中,按照权重值对可清理应用列表中的应用进行排序生成第一序列的步骤包括:根据每个应用的权重值对所述可清理应用列表中的应用进行从低到高的排序,得到第一序列。
可选地,在根据本发明的系统清理方法中,按照每个应用的预置等级值对第一序列进行排序生成第二序列的步骤包括:根据每个应用的预置等级值对所述第一序列中的应用进行从高到低的排序,得到第二序列,其中,每个应用的预置等级值根据每个应用所属的应用类型设置。
可选地,在根据本发明的系统清理方法中,应用类型按应用等级从高到低的顺序依次包括:前台应用、正在播放音频应用、超级名单、指定数量的最近应用、用户锁定列表、正在导航应用、正在下载应用、普通名单、可直接清理应用。
可选地,在根据本发明的系统清理方法中,获取当前可清理应用列表的步骤还包括:获取清理应用的清理上限数量。
可选地,在根据本发明的系统清理方法中,按照第二序列的顺序依次对可清理应用列表中的应用进行内存清理的步骤还包括:按照第二序列的顺序依次选取出清理上限数量个可清理应用,对其进行内存清理。
根据本发明的另一方面,提供了一种移动设备,包括:一个或多个处理器;存储器;和一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述方法中的任一方法的指令。
根据本发明的又一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当移动设备执行时,使得移动设备执行如上所述的方法中的任一方法。
根据本发明的系统清理方案,根据应用的工作状态对应用类型进行等级划分,在获取到可清理应用列表时,根据应用的内存使用情况和应用的等级对可清理应用列表中的应用进行有序地清理。进一步地,结合当前内存使用率设置清理上限数量,当可清理应用大于清理上限数量时,根据清理上限数量选取相应个应用进行清理,以避免批量清理应用造成前台操作卡顿。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动设备100的示意图;以及
图2示出了根据本发明一个实施例的系统清理方法200的流程图;
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是移动设备100的结构框图。移动设备100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动设备100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、加速度传感器、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动设备100所支持的一个或多个通信网络。例如,移动设备100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。
一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统152,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统152可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。在一些实施例中,操作系统152中包含了用于执行系统清理方法的指令。存储器150还可以存储应用154。在移动设备运行时,会从存储器150中加载操作系统152,并且由处理器104执行。应用154在运行时,也会从存储器150中加载,并由处理器104执行。应用154运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理、视频播放等。应用154可以是独立于操作系统提供的,也可以是操作系统自带的,包括各种社交应用软件,如QQ、微信、微博等,也包括各种视频播放应用软件,还可以包括相册、计算器、录音笔等系统自带应用程序。另外,应用154被安装到移动设备100中时,也可以向操作系统添加驱动模块。
本发明提供了一种系统清理方法,通过在移动设备100的存储器150中存储相应的一个或多个程序(包括前文所述的相关指令)来实现上述功能。需要说明的是,本发明所指的移动设备100可以是具有上述构造的手机、平板电脑、笔记本电脑等具有数据处理能力的设备。
在一般的内存清理方案中,根据内存使用率或应用的特征信息(如,使用时长、使用频率、使用时占用的内存值等)筛选出至少一个待清理的应用,这至少一个待清理的应用即组成可清理应用列表。但在一些情况下,当筛选出的可清理应用列表中的应用很多时,批量清理后台应用反而会造成前台操作卡顿,影响用户使用。因此,根据本发明的系统清理方法提供了一种能够有效解决批量清理造成卡顿问题的方案。
图2示出了根据本发明一个实施例的系统清理方法200的流程图。参照图2,方法200始于步骤S210,在自动清理模式下,获取当前可清理应用列表。
根据本发明的一个实施例,当检测到移动设备100开机后,在亮屏的情况下,可以在移动设备100上显示一个用于触发自动清理模式的图标(包括桌面悬浮窗、系统清理空间的图标、或者是移动设备100自带的返回桌面按键等),当该图标被点击时,即触发自动清理模式。根据本发明的另一个实施例,还可定时进行系统清理,当系统开机时,会定时启动扫描器进行内存扫描,可以在每个扫描周期结束后自动触发系统清理。显然,上文对于自动清理模式的触发条件的说明仅为示例性的,触发条件可根据实际应用情况进行自定义设定。
在根据本发明的一种实现方式中,结合当前内存使用率和各应用类型的工作状态获取当前可清理应用列表。下面将对本系统清理方法200中获取当前可清理应用列表的一个实施例进行说明。
在移动设备100开机后,启动扫描器进行内存扫描。获取每个应用在本周期内的内存使用量,并算得当前内存使用率。具体地,根据路径/proc/pid/statm读取进程内存信息statm文件;获取每个进程当前使用的物理内存VmRSS信息,由于一个应用可能会创建多个进程,因此还要根据进程的UID信息对进程按应用进行合并,得到每个应用的内存使用量,进而算出移动设备100当前的内存使用率。也可以通过系统提供的接口获取进程的PSS内存使用量(以Android系统为例,通过ActivityManager的接口即可获取内存使用量),再对同一个应用的至少一个进程的PSS内存使用量进行合并后,得到应用的PSS内存使用量,进而算出移动设备100当前的内存使用率。本发明的实施例对此不做限制。
同时载入配置文件,从配置文件中获取预定应用等级表,其中预定应用等级表中包含多个应用类型,且每个应用类型具有相应的应用等级和允许清理的内存使用率。
根据本发明的一个实施例,依据移动设备100中各应用的工作状态,将应用划分为如下几种类型(按应用等级从高到底的顺序排序):前台应用、正在播放音频应用、超级名单、指定数量的最近应用、用户锁定列表、正在导航应用、正在下载应用、普通名单、可直接清理应用。
根据各应用类型的工作状态对其分配相应的应用等级和允许清理的内存使用率,并且应用等级越高,对应的允许清理的内存使用率越大。例如,由于前台应用为用户当前正在使用的应用,若进行内存释放则将影响当前的用户使用需求,因此设置前台应用为应用等级很高的应用,在任何内存使用率的情况下,都不可以进行清理。又如,对于正在下载的应用,表示用户当前具有下载需求,若对该类型应用进行内存清理,会导致用户的下载任务无法及时完成,因此设置正在下载应用在内存使用率达到80%时才允许清理。而对于一些应用等级低的可直接清理应用,在内存使用率达到55%时即可进行清理。当然,应用类型中还可以包括用户锁定列表,当用户对应用进行锁定时,加入用户锁定列表。
需要说明的是,也可以利用系统剩余可用内存量来设置允许清理的应用类型。当系统剩余可用内存量较低时,允许对大多数应用类型执行内存清理。其原理与根据内存使用率来设置允许清理的应用类型是相通的,此处不再赘述。
如表1示出了根据本发明一个实施例的预定应用等级表,其中,等级值代表了该应用类型的重要性,等级值越低表示应用类型越重要,相应的允许清理的内存使用率也越高。需要说明的是,本发明实施例可根据实际应用情况设置应用等级和允许清理的内存使用率。
表1预定应用等级表
应用类型名称 类型标识符 等级值 允许清理的内存使用率(%)
前台应用 FOREGROUND 0
正在播放音频应用 AUDIOPLAYING 1
超级名单 HIGHLIST 2 90
指定数量的最近应用 RECENT 4 85
用户锁定列表 USERLOCK 8 80
正在导航应用 GPS 16 80
正在下载应用 DOWNLOADING 32 80
普通名单 NORMALLIST 64 75
可直接清理的应用 CLEANABLE 128 55
根据本发明的实施例,在获取预定应用等级表的同时,还可以一并载入历史名单数据并动态更新名单数据。其中,名单数据包括超级名单和普通名单。
根据本发明的实施方式,动态更新名单数据的步骤包括如下1)~3)步骤:
1)根据用户使用时长生成常用应用列表及对应应用的权值。根据本发明的实施例,初始常用应用列表为空,在用户开始使用移动设备100时,会根据用户使用情况(如用户点击应用次数、用户使用应用时长等)生成常用应用列表并定期更新该常用应用列表。可选地,按照使用频率由高到低的顺序筛选出前10个常用应用作为初始常用应用列表,并依次分配递减的权值(如从10到1)。
根据本发明的实施例,根据移动设备100的累计使用时间确定更新常用应用列表的更新周期。具体地,当移动设备100的累计使用时间在第一范围内时,每隔第一时长更新常用应用列表;当移动设备100的累计使用时间在第二范围内时,每隔第二时长更新常用应用列表;当移动设备100的累计使用时间在第三范围内时,每隔第三时长更新常用应用列表,并且第一时长小于第二时长,第二时长小于第三时长。可选地,移动设备100的累计使用时间可以用亮屏时间作为参考。
例如,当移动设备100的累计亮屏时间在48小时以内时,每隔2小时就进行一次扫描来更新常用应用列表;当移动设备100的累计亮屏时间在48~96小时以内时,每隔6小时就进行一次扫描来更新常用应用列表;当移动设备100的累计亮屏时间在96小时以上时,每隔12小时就进行一次扫描来更新常用应用列表。也就是说,在移动设备100使用初期,常用应用列表的更新会比较频繁,当使用一段时间后,常用应用列表逐渐趋于稳定,更新周期也就适当放缓。
另外,根据本发明的一个实施例,当用户灭屏时间超过一个更新周期时,忽略该周期的更新,以防止用户长时间不使用移动设备而造成常用应用列表的不准确计算。
2)通过判断历史名单数据(即,历史超级名单和历史普通名单)中的应用是否属于常用应用来计算该应用的新权值。在具体实施过程中,可以将常用应用列表中的应用及其权值分配给初始的历史名单数据,也可以初步设置几个应用及其权值作为初始的历史名单数据,本发明对此不作限制。
具体地,当确定历史名单数据中的某个应用属于当前的常用应用时,就将该应用在常用应用列表中的权值和在历史名单数据中的权值进行相加得到该应用的新权值(例如,应用A在常用应用列表中的权值为10,在历史名单数据中的权值为5,那么新权值就是15)。当确定历史名单数据中超级名单中的某个应用不属于常用应用时,就将该应用的权值减去第一预定值得到该应用的新权值,可选地,第一预定值取10(例如,应用B在超级名单中且权值为8,但不在当前的常用应用列表中,那么应用B的新权值就是-2)。当确定历史名单数据中普通名单中的某个应用不属于常用应用时,就将该应用的权值减去第二预定值得到该应用的新权值,可选地,第二预定值取5(例如,应用C在普通名单中且权值为4,但不在当前的常用应用列表中,那么应用C的新权值就是-1)。
3)根据应用的新权值将应用归入超级名单或普通名单,以更新名单数据。
随后结合当前内存使用率与预定应用等级表筛选出至少一个可清理应用。根据本发明的一个实施例,当前内存使用率通过扫描器的定期扫描得到。
例如,当前内存使用率为80%,结合表1,筛选出可清理的应用类型有:可直接清理的应用、普通名单、正在下载应用、正在导航应用、用户锁定列表。根据每个应用类型的类型标识符选出每个类型下对应的至少一个应用,依次组成可清理应用列表。
在根据本发明的另一些实施例中,还会对配置文件进行在线更新。一般地,当移动设备100处于空闲状态或网络状态满足要求(如网络状态良好)时,开启对配置文件的更新。将移动设备100的设备信息及本地配置文件的版本号上传至服务器,查询远程服务器上是否有新的配置文件,若有新的配置文件则由服务器返回新的配置文件的动态下载地址,移动设备100启动下载线程以根据动态下载地址下载新的配置文件。若没有新的配置文件,则结束本轮查询。
随后在步骤S220中,获取可清理应用列表中每个应用的内存参数并计算内存参数的权重值。
根据本发明的一个实施例,内存参数包括如下四个:每个应用的累计使用次数、累计使用时长、最后一次使用相对于当前时间的间隔时间和应用的内存使用量。
由于四个内存参数的范围各不相同,因此在根据本发明的实施例中,在计算内存参数的权重值之前,先要对每个应用的四个内存参数分别进行归一化处理,得到每个内存参数的权重因子。可选地,通过如下算法计算每个内存参数的权重因子w:
w=(X-Xmin)/(Xmax-Xmin)
上式中,X表示某个应用的其中一个内存参数,如应用的内存使用量,Xmin表示可清理应用列表中该内存参数的最小值,Xmax表示可清理应用列表中该内存参数的最大值。
通过上述方法计算出某应用四个内存参数的权重因子后,将四个权重因子相加作为该应用的内存参数的权重值。
随后在步骤S230中,按照权重值对可清理应用列表中的应用进行排序生成第一序列。可选地,根据每个应用的权重值对可清理应用列表中的应用进行从低到高的排序,得到第一序列。
随后在步骤S240中,按照每个应用的预置等级值对第一序列再进行排序生成第二序列。可选地,根据每个应用的预置等级值对第一序列中的应用进行从高到低的排序,得到第二序列,其中,每个应用的预置等级值根据每个应用所属的应用类型设置。如前文所述的,根据应用类型的工作状态为每种应用类型分配相应的等级。
根据本发明的实施例,按照等级值从低到高(即,等级从高到低)的顺序对应用类型的排序依次为:前台应用、正在播放音频应用、超级名单、指定数量的最近应用、用户锁定列表、正在导航应用、正在下载应用、普通名单、可直接清理应用。
随后在步骤S250中,按照第二序列的顺序依次对可清理应用列表中的应用进行内存清理。也就是说,应用等级越低的应用越先被清理。
在根据本发明的一些实施例中,会根据内存使用率设置保留最近任务/应用的数量和清理上限数量。一方面是为了保证用户最近操作的应用尽量不被清理,另一方面是为了尽量避免批量清理后台应用而造成前台操作卡顿。
因此,在获取当前可清理应用列表的同时,还要获取清理应用的清理上限数量。当可清理应用列表中的应用数量大于清理上限数量时,按照第二序列的顺序依次选取清理上限数量个可清理应用,对其执行内存清理。
具体的保留最近任务/应用的数量和清理上限数量可根据实际情况进行设置,如下表2给出了依据本发明一个实施例的清理应用数量设置示例。
表2清理应用数量设置
内存使用率(%) 清理上限数量 最近应用的保持数量
85 5 2
80 5 4
70 4 4
60 3 4
55 2 4
参照图2,在当前内存使用率达到80%时,按照上述方式从可清理应用列表中依序选取5个应用进行清理,且保留最近使用过的4个应用。
下面将对本系统清理方案的另一种实施例进行说明。在移动设备100处于灭屏状态时执行灭屏状态下的内存清理。一般地,执行两次清理:第一次在灭屏较短的时间内执行,如1分钟;第二次在灭屏较长的时间内执行,如5分钟。分两次执行的目的在于,刚开始灭屏时部分应用可能还处于高优先级(即,等级值较低)的状态,在隔一个较长的时间后,有的应用就退出了高优先级的状态,可以执行相应的清理。根据本发明的一个实施例,在灭屏状态下,只对应用类型为“普通名单”和“可直接清理的应用”进行内存清理。
在另一些情况下,扫描器在对进程内存进行扫描时,还会对进程CPU进行扫描及清理。根据本发明的实施例,在对进程CPU进行扫描时,通常遵从如下步骤和规则。
(1)筛选需要监控的进程,以减少单次扫描量,减轻扫描造成的CPU负载。可选地,移除不可清理的进程,如默认输入法、默认桌面、不可清理的系统应用和底层服务。
(2)读取进程CPU信息stat文件,根据本发明的一个实施例,stat文件的路径为:/proc/pid/stat。
(3)获取进程使用的用户态空间CPU使用时间utime和内核态CPU使用时间stime。
(4)对utime和stime与base_utime和base_stime(base_utime和base_stime分别表示上一次获取的utime和stime)计算差值得到本周期内进程的CPU使用时长。
(5)保存本次进程的utime和stime为base_utime和base_stime。
(6)对进程按应用进行累计合并计算,一般地,一个应用可能会创建多个进程,通过UID或者进程的process name来合并一个应用下的至少一个进程。在本发明的实施例中,采用UID的方式合并计算以减小消耗。
(7)检查进入后台的应用的CPU使用时间是否超出阈值,如果超出阈值,则将该应用加入清理候选名单,并执行CPU清理。
(8)按应用保存本周期内的CPU使用时长。
(9)等待下一次扫描,并重复执行上述步骤(1)—(8)。
根据本发明的系统清理方案,根据应用的工作状态对应用类型进行等级划分,在获取到可清理应用列表时,根据应用的内存使用情况和应用的等级对可清理应用列表中的应用进行有序地清理。进一步地,结合当前内存使用率设置清理上限数量,当可清理应用大于清理上限数量时,根据清理上限数量选取相应个应用进行清理,以避免批量清理应用造成前台操作卡顿。
另外,结合用户使用习惯和系统使用场景对每种应用类型设置对应的允许清理内存使用率。根据当前的内存使用率确定可清理应用。在保证系统运行内存富余的情况下,很大程度上保证了用户的体验。
另外,通过动态更新名单数据的策略,减少了大量的名单维护工作,让移动设备根据用户自身的使用习惯生成个性化的名单数据。综上,本方案极大地减少了因内存原因导致的机器使用卡顿,提高用户体验。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端(或设备)一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (9)

1.一种移动设备的系统清理方法,所述方法包括步骤:
在自动清理模式下,从配置文件中获取预定应用等级表,结合当前内存使用率与预定应用等级表筛选出至少一个可清理应用,得到当前可清理应用列表,其中所述预定应用等级表中包含多个应用类型,且每个应用类型具有相应的应用等级和允许清理的内存使用率;
获取所述可清理应用列表中每个应用的内存参数并计算所述内存参数的权重值;
按照所述权重值对所述可清理应用列表中的应用进行排序生成第一序列;
根据每个应用的预置等级值对所述第一序列的应用进行从高到低的排序,生成第二序列,其中,所述每个应用的预置等级值根据每个应用所属的应用类型设置;以及
按照第二序列的顺序依次对所述可清理应用列表中的应用进行内存清理。
2.如权利要求1所述的方法,其中,所述每个应用的内存参数包括:每个应用的累计使用次数、累计使用时长、最后一次使用相对于当前时间的间隔时间和应用的内存使用量。
3.如权利要求2所述的方法,其中,计算内存参数的权重值的步骤包括:
对每个应用的内存参数分别进行归一化处理,得到每个内存参数的权重因子;
将每个内存参数的权重因子相加得到该应用对应内存参数的权重值。
4.如权利要求1-3中任一项所述的方法,其中,所述按照权重值对可清理应用列表中的应用进行排序生成第一序列的步骤包括:
根据每个应用的权重值对所述可清理应用列表中的应用进行从低到高的排序,得到第一序列。
5.如权利要求1所述的方法,其中,所述应用类型按应用等级从高到低的顺序依次包括:前台应用、正在播放音频应用、超级名单、指定数量的最近应用、用户锁定列表、正在导航应用、正在下载应用、普通名单、可直接清理应用。
6.如权利要求1所述的方法,其中,所述获取当前可清理应用列表的步骤还包括:
获取清理应用的清理上限数量。
7.如权利要求6所述的方法,其中,所述按照第二序列的顺序依次对可清理应用列表中的应用进行内存清理的步骤还包括:
按照第二序列的顺序依次选取出所述清理上限数量个可清理应用,对其进行内存清理。
8.一种移动设备,包括:
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1-7所述方法中的任一方法的指令。
9.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当移动设备执行时,使得所述移动设备执行如权利要求1-7所述的方法中的任一方法。
CN201710882402.2A 2017-09-26 2017-09-26 一种移动设备的系统清理方法及移动设备 Active CN107665147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710882402.2A CN107665147B (zh) 2017-09-26 2017-09-26 一种移动设备的系统清理方法及移动设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710882402.2A CN107665147B (zh) 2017-09-26 2017-09-26 一种移动设备的系统清理方法及移动设备

Publications (2)

Publication Number Publication Date
CN107665147A CN107665147A (zh) 2018-02-06
CN107665147B true CN107665147B (zh) 2019-12-06

Family

ID=61097190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710882402.2A Active CN107665147B (zh) 2017-09-26 2017-09-26 一种移动设备的系统清理方法及移动设备

Country Status (1)

Country Link
CN (1) CN107665147B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536395B (zh) * 2018-04-03 2021-05-25 北京京东尚科信息技术有限公司 一种清理硬盘的方法和装置
CN109726003B (zh) * 2019-01-04 2020-09-15 Oppo广东移动通信有限公司 应用解冻的处理方法、电子装置及计算机可读存储介质
CN110795243A (zh) * 2019-10-21 2020-02-14 Oppo(重庆)智能科技有限公司 应用处理方法及相关装置
CN111666153A (zh) * 2020-05-25 2020-09-15 深圳Tcl新技术有限公司 缓存任务管理方法、终端设备及存储介质
CN111756922A (zh) * 2020-06-15 2020-10-09 北京智明星通科技股份有限公司 一种手机游戏的运行方法、系统及游戏终端
CN112231084B (zh) * 2020-10-20 2024-04-09 苏州连世创智科技有限公司 一种读取通讯总线宿端口数据的调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893153A (zh) * 2016-03-31 2016-08-24 北京百纳威尔无线通信设备有限公司 移动终端的内存清理方法和装置
CN105975400A (zh) * 2016-04-27 2016-09-28 北京金山安全软件有限公司 一种空间管理方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100365725B1 (ko) * 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
CN104657666B (zh) * 2013-11-21 2019-04-02 腾讯科技(深圳)有限公司 一种终端运行环境的优化方法及装置
CN104598315A (zh) * 2014-12-12 2015-05-06 广州三星通信技术研究有限公司 管理内存的方法、装置及终端
CN105786550B (zh) * 2014-12-26 2020-07-24 联想(北京)有限公司 一种内存应用处理方法及装置
CN104536907B (zh) * 2015-01-26 2018-11-09 联想(北京)有限公司 一种内存清理方法及电子设备
CN107045443A (zh) * 2017-04-14 2017-08-15 北京安云世纪科技有限公司 后台进程控制方法、装置及智能终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893153A (zh) * 2016-03-31 2016-08-24 北京百纳威尔无线通信设备有限公司 移动终端的内存清理方法和装置
CN105975400A (zh) * 2016-04-27 2016-09-28 北京金山安全软件有限公司 一种空间管理方法、装置及电子设备

Also Published As

Publication number Publication date
CN107665147A (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
CN107665147B (zh) 一种移动设备的系统清理方法及移动设备
CN107766134B (zh) 一种移动设备的系统清理方法及移动设备
KR102206364B1 (ko) 메모리 리클레임 방법 및 장치
CN106415489B (zh) 应用建议特征
US10719769B2 (en) Systems and methods for generating and communicating application recommendations at uninstall time
US9261933B2 (en) Integrating energy budgets for power management
CN103530220A (zh) 一种应用程序图标的显示方法、系统及终端
CN105740078B (zh) 一种内存管理方法、装置及终端
CN106372110B (zh) 一种应用程序的推荐方法及移动终端
CN107239348B (zh) 一种多核处理器调度方法、装置及移动终端
EP3198429A1 (en) Heterogeneous thread scheduling
CN105637470B (zh) 用于脏数据管理的方法和计算设备
CN109240991B (zh) 文件推荐方法、装置、存储介质及智能终端
US20160224397A1 (en) Exploiting limited context streams
CN105512033A (zh) 一种移动终端的自动化测试方法、装置及移动终端
WO2021104132A1 (zh) 一种基于云虚拟机的数据访问方法及设备
CN107301086A (zh) 进程处理方法、装置、移动终端及计算机可读取存储介质
CN110502320B (zh) 线程优先级调整方法、装置、电子设备及存储介质
CN110955614B (zh) 文件缓存的回收方法、装置、存储介质及终端
CN110727893B (zh) 一种瀑布流图片的加载方法、装置和移动终端
JP5801517B2 (ja) タスク処理方法および装置
CN107870811B (zh) 应用清理方法、装置、存储介质及电子设备
WO2019090725A1 (zh) 终端基于用户习惯自动清理用户个人文件
CN111813307B (zh) 应用程序显示方法、装置及电子设备
CN107766105B (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