CN112835640A - 应用程序清理方法、装置、终端设备及存储介质 - Google Patents
应用程序清理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112835640A CN112835640A CN202110140630.9A CN202110140630A CN112835640A CN 112835640 A CN112835640 A CN 112835640A CN 202110140630 A CN202110140630 A CN 202110140630A CN 112835640 A CN112835640 A CN 112835640A
- Authority
- CN
- China
- Prior art keywords
- program
- application
- cleaning
- target
- name
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000004140 cleaning Methods 0.000 claims abstract description 79
- 238000012544 monitoring process Methods 0.000 claims description 56
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
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
技术领域
本申请属于应用程序清理技术领域,尤其涉及一种应用程序清理方法、装置、终端设备及存储介质。
背景技术
在现有技术中,若需要对终端设备中处于后台运行的应用程序进行清理,则需要人为的主动使用专门的应用清理程序进行清理。或者,在后台运行的应用程序占用终端设备的系统内存过大,导致系统内存不够时,主动触发终端设备清理后台运行的应用程序的机制。然而,此种情况下,用户无法及时确定此时系统内存的剩余情况。以至于将导致用户在使用终端设备的过程中,产生用户当前正在使用的应用程序被清理的问题。
发明内容
本申请实施例提供了一种应用程序清理方法、装置、终端设备及存储介质,可以解决用户在使用终端设备的过程中,用户当前正在使用的应用程序被清理的问题。
第一方面,本申请实施例提供了一种应用程序清理方法,包括:
获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称;
若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序;
从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称;
根据所述目标程序名称清理目标程序。
在一实施例中,在所述获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称之前,还包括:
创建前台监听服务,所述前台监听服务用于监听所述当前时刻下处于运行状态的第一应用程序;
配置所述前台监听服务的运行优先级,以使在所述终端设备启动时运行所述前台监听服务。
在一实施例中,在所述配置所述前台监听服务的运行优先级之后,还包括:
实时监测所述前台监听服务的运行状态;
若监测到所述前台监听服务的运行状态为关闭状态,则控制所述前台监听服务进行自启动。
在一实施例中,在所述从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称之前,还包括:
生成所述系统应用列表,所述系统应用列表中记录有根据用户输入的生成指令添加的应用程序的程序名称;
接收用户输入的修改指令,所述修改指令用于对所述系统应用列表中的程序名称进行修改,所述修改至少包括对所述系统应用列表中的程序名称进行添加、删除中的一种。
在一实施例中,所述根据所述目标程序名称清理目标程序,包括:
传输所述目标程序名称至应用清理程序,所述应用清理程序包括多种应用程序的清理方法;
从所述应用清理程序的多种清理方法中确定目标程序的目标清理方法;
运行所述目标清理方法清理所述目标程序。
在一实施例中,在所述根据所述目标程序名称清理目标程序之后,还包括:
统计所述目标程序运行时占用的运行内存;
计算所述终端设备的系统内存与所述运行内存的差值,得到剩余内存;
若所述剩余内存小于预设值,则清除所述运行内存中的缓存数据。
在一实施例中,所述目标程序包括多个;所述统计所述目标程序运行时占用的运行内存,包括:
分别根据多个目标程序的目标程序名称,对所述系统内存进行正则匹配,以确定所述多个目标程序运行时占用的内存空间;
根据所述多个目标程序占用的内存空间,计算所述运行内存。
第二方面,本申请实施例提供了一种应用程序清理装置,包括:
获取模块,用于获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称;
第一确定模块,用于若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序;
第二确定模块,用于从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称;
清理模块,用于根据所述目标程序名称清理目标程序。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
本申请实施例与现有技术相比存在的有益效果是:通过实时获取当前时刻下用户正在使用的第一应用程序的第一程序名称,若判定其与上一时刻下获取的用户正在使用的第二应用程序的第二程序名称不一致,则触发终端设备清理后台运行的应用程序的机制。以避免在终端设备内部后台运行的应用程序的数量过多,以至于占用终端设备的系统内存过大,导致系统内存不够,无法使用户当前时刻正在使用的第一应用程序正常运行。之后,将所有在后台运行的后台应用程序的名称与系统应用列表记录的名称进行比较,以确定待清理的目标程序。进而,使得终端设备在清理后台应用程序时,还可解决终端设备系统正常运行时所必须的应用程序被清理的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种应用程序清理方法的实现流程图;
图2是本申请一实施例提供的另一种应用程序清理方法的实现流程图;
图3是本申请一实施例提供的再一种应用程序清理方法的实现流程图;
图4是本申请一实施例提供的又一种应用程序清理方法的实现流程图;
图5是本申请一实施例提供的一种应用程序清理方法的S104的一种实现方式示意图;
图6是本申请一实施例提供的另一种应用程序清理方法的实现流程图;
图7是本申请一实施例提供的一种应用程序清理方法的S104A的一种实现方式示意图;
图8是本申请一实施例提供的一种应用程序清理装置的结构框图;
图9是本申请一实施例提供的一种终端设备的结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提供的应用程序清理方法可以应用于手机、笔记本电脑、上网本等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
请参阅图1,图1示出了本申请实施例提供的一种应用程序清理方法的实现流程图,该方法包括如下步骤:
S101、获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称。
在应用中,上述第一应用程序为终端设备当前时刻下处于运行状态的程序。即第一应用程序为用户在当前时刻下进行使用的程序,此时,第一应用程序有且只有一个。上述第二应用程序为当前时刻之前用户使用的程序。可以理解的是,用户在使用第一应用程序时,若第二应用程序未被用户主动进行清理,则第二应用程序此时应处于后台运行状态。需要特别说明的是,上述当前时刻与上一时刻均为相对时刻。
在应用中,上述获取当前时刻下处于运行状态的第一应用程序的第一程序名称可以为:用户预先在终端设备内部创建前台监听服务,以实时监听每个应用程序的运行状态。其中,运行状态包括但不限于:处于后台运行的运行状态、用户当前时刻下正在使用的运行状态、关闭状态。
在其他应用中,用户也可预先对终端设备内部的每个应用程序中设置相应指令,以使其自动发送自身运行状态至终端设备。例如,在每个应用程序中,添加自身应用程序在运行(包括处于后台运行的运行状态)时,主动发送运行状态至终端设备的前台监听服务的指令。可以理解的是,在当前时刻下获取到运行状态为“用户当前时刻下正在使用的运行状态”有且只有一个。以此,终端设备可实现获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称的步骤。
在应用中,终端设备还可实时获取处于运行状态(用户当前时刻下正在使用的运行状态)的第一应用程序的第一程序名称,以使终端设备在检测第一程序名称与第二程序名称不一致时,及时触发清理后台应用程序的步骤。
在其他应用中,上述当前时刻与上一时刻可以为用户预先在终端设备上设置的时刻,例如,每隔预设时间段获取用户正在使用的第一应用程序的程序。其中,预设时间段可以为每隔1分钟、1小时,具体可由用户根据实际情况进行设置,对此不作限定。基于此,在确定预设时间段以及用户初始使用终端设备的应用程序的时刻后,即可确定终端设备获取应用程序的程序名称的各个时刻。以此,可使终端设备在合理的情况下,使终端设备未被清理的后台应用程序不影响用户当前使用的应用程序的运行,且可降低终端设备获取第一应用程序的第一程序名称的频率,减少终端设备内部处理器的工作量。
在应用中,上述获取当前时刻下第一应用程序的第一程序名称的部分程序代码可如下所示:
S102、若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序。
在应用中,上述未被清理的后台应用程序即为该应用程序此时为处于后台运行状态的程序。可以理解的是,该后台应用程序包括了维持终端设备系统正常运行时所必须的应用程序,以及用户在当前时刻之前使用过的应用程序(第二应用程序),且该应用程序在当前时刻处于后台运行的运行状态。特别的是,因第二应用程序为用户在上一时刻下正在使用的应用程序。基于此,可以理解的是,在当前时刻下,未被清理的后台应用程序至少包括第二应用程序。
S103、从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称。
在应用中,上述系统应用列表用于记录系统应用程序的程序名称,其可为用户预先在终端设备内部进行设置的管理列表。具体的,该系统应用列表中记录的程序名称具体可通过如下程序代码运行得到,例如:Device Package Name Info.java.。
在应用中,上述系统应用列表记录的程序名称可以理解为:维持终端设备系统正常运行时所必须的应用程序的程序名称。可以理解的是,在应用程序清理的过程中,其可保护系统应用列表记录的应用程序不被清理,以确保终端设备内部的应用程序可正常运行
且该清理方法在终端设备上使用时,可不需要适配现有技术中已知的多种第三方应用清理程序。即实现无需人为主动使用专门的应用清理程序清理后台应用程序的效果。
S104、根据所述目标程序名称清理目标程序。
在应用中,根据上述目标程序名称清理目标程序可以为:终端设备内部预先存储有多种应用程序清理方法,且每种应用程序清理方法至少可清理一种目标程序。
具体的,上述多种应用程序清理方法可存储在终端设备内部的软件开发工具包(Software Development Kit,SDK)中,且该软件开发工具包可预先关联每种应用程序清理方法分别对应的一种或多种可被清理的应用程序。终端设备可将目标程序名称传输至软件开发工具包内,而后,由软件开发工具包确定目标程序的应用程序清理方法。之后,由终端设备调用软件开发工具包提供的应用程序接口与目标程序进行连接,并运行目标程序的应用程序清理方法清理目标程序。其中,从软件开发工具包中确定每个应用程序对应的应用程序清理方法的部分代码具体如下所示:
Activity Manager am=(Activity Manager)m Context
.get System Service(Context.ACTIVITY_SERVICE);。
另外,运行目标清理方法清理目标程序的部分代码具体如下所示:
am.kill Background Processes(app Process Info.process);。
需要特别说明的是,在现有技术中,若需要对终端设备的后台运行的应用程序进行清理,则需要人为主动使用专门的应用清理程序进行清理。或者,在后台运行的应用程序占用终端设备的系统内存过大,导致系统内存不够时,触发终端设备清理后台运行的应用程序的机制。然而,此种情况下,用户无法及时确定此时系统内存的剩余情况。以此,将导致用户在使用终端设备的过程中出现用户正在使用的应用程序被清理的情况。
基于此,在本实施例中,通过实时获取当前时刻下用户正在使用的第一应用程序的第一程序名称,若判定其与上一时刻下获取的用户正在使用的第二应用程序的第二程序名称不一致,则触发终端设备清理后台运行的应用程序的机制。以避免在终端设备内部后台运行的应用程序的数量过多,以至于占用终端设备的系统内存过大,导致系统内存不够,无法使用户当前时刻正在使用的第一应用程序正常运行。之后,将所有在后台运行的后台应用程序的名称与系统应用列表记录的名称进行比较,以确定待清理的目标程序。进而,使得终端设备在清理后台应用程序时,还可解决终端设备系统正常运行时所必须的应用程序被清理的问题。
请参照图2,在一具体实施例中,在S101获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称之前,还包括如下步骤S101A-S101B,详述如下:
S101A、创建前台监听服务,所述前台监听服务用于监听所述当前时刻下处于运行状态的第一应用程序。
在应用中,上述前台监听服务主要用于监听每个应用程序的运行状态,以及终端设备的系统是否开机启动。可以理解的是,前台监听服务可实时监听每个应用程序的运行状态,并确定当前时刻下用户正在使用的第一应用程序。
具体的,终端设备可在前台监听服务中创建消息处理(handler)的程序来监听每个应用程序的运行状态,其部分程序代码具体如下:
S101B、配置所述前台监听服务的运行优先级,以使在所述终端设备启动时运行所述前台监听服务。
在应用中,上述前台监听服务也可认为是终端设备内部的应用程序。然而,对于终端设备内部安装的多个应用程序,其每个应用程序均有相应的运行优先级。因此,在创建前台监听服务时,还可配置前台监听服务的运行优先级为最高级别。即终端设备在每次启动时,终端设备内部第一时间运行应用程序应为前台监听服务,以使前台监听服务可达到实时监听当前时刻下处于运行状态的第一应用程序的目的。
可以理解的是,上述前台监听服务应实时处于后台运行状态,即上述前台监听服务属于后台应用程序(不必在终端设备屏幕上显示运行过程的程序)。基于此,为保证前台监听服务能够实时监听第一应用程序的运行状态,终端设备可将前台监听服务的程序名称预先记录在系统应用列表中,以使前台监听服务可一直处于后台运行状态。
请参照图3,在一具体实施例中,在S101B配置所述前台监听服务的运行优先级之后,还包括如下步骤S101C-S101D,详述如下:
S101C、实时监测所述前台监听服务的运行状态。
S101D、若监测到所述前台监听服务的运行状态为关闭状态,则控制所述前台监听服务进行自启动。
在应用中,终端设备还可在前台监听服务中设置监测指令,以使前台监听服务可实时监测自身的运行状态,并在监测到自身运行状态为关闭状态时,可控制前台监听服务进行自启动。
在应用中,上述控制前台监听服务进行自启动的方式可以为:在前台监听服务的运行代码中添加重启代码,以使前台监听服务在运行过程中出现异常关闭时,可触发该重启代码进行运行,以达到自启动的目的。
具体的,终端设备可预先对前台监听服务的生命周期进行设置,以使前台监听服务一直处于运行状态。例如,正常情况下,当一个应用程序通过调用startService()请求启动前台监听服务时,终端设备内部的系统将调用此方法,以使前台监听服务启动并在后台进行运行。然而,通常情况下,前台监听服务工作完成后,将会调用stopService()来停止前台监听服务的运行。此时,为保证前台监听服务可在终端设备的后台一直运行,可在前台监听服务的生命周期on Destroy()中添加重启代码。具体的,上述添加的部分重启代码可如下所示:
请参照图4,在一具体实施例中,在S103从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称之前,还包括如下步骤S103A-S103B,详述如下:
S103A、生成所述系统应用列表,所述系统应用列表中记录有根据用户输入的生成指令添加的应用程序的程序名称。
在应用中,上述生成指令可以为用户在终端设备设置系统应用列表时输入的指令,该指令用于在系统应用列表中初步添加应用程序的程序名称。可以理解的是,上述应用程序包括但不限于终端设备出厂前已安装的应用程序,以及终端设备出厂后用户根据实际情况下进行下载的应用程序,对此不作限定。
S103B、接收用户输入的修改指令,所述修改指令用于对所述系统应用列表中的程序名称进行修改,所述修改至少包括对所述系统应用列表中的程序名称进行添加、删除中的一种。
在应用中,在生成上述S103A中的系统应用列表后,用户还可在使用终端设备的过程中,根据实际情况输入修改指令至终端设备,以修改系统应用列表中记录的程序名称。可以理解的是,上述修改包括但不限于对系统应用列表中的程序名称进行删除,以及再次加入新的应用程序的程序名称。
需要说明的是,终端设备在执行清理后台应用程序的过程中,是从多个后台应用程序分别对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称,而后对目标程序进行清理。然而,在实际过程中,若用户在系统应用列表中加入过多的应用程序的程序名称,则终端设备在执行清理后台应用程序的过程时,不被清理的后台应用程序的数量可能较多。以至于使终端设备具有较多一直处于后台运行的后台应用程序,使得后台应用程序占用过多的终端设备的系统内存,进而影响用户当前使用的第一应用程序正常运行。此时,未避免终端设备内部的系统内存无法支持较多的后台应用程序运行的情况,终端设备可在系统应用列表设置用户可添加的应用程序名称的数量。
具体的,获取系统应用列表中可添加应用程序的程序名称的目标数量;若判定修改后的系统应用列表的程序名称的数量大于目标数量,则执行预设的提醒操作。其中,目标数量可由用户根据实际情况进行设置,也可以为终端设备预先限定的系统应用列表可包含程序名称的数量。其中,预设的提醒操作包括但不限于振动提醒、声音提醒等操作。进而,可避免处于后台运行的应用程序占用终端设备的系统内存过大的情况,解决用户在使用终端设备的过程中出现用户正在使用的应用程序被清理的问题。
请参照图5,在一具体实施例中,S104根据所述目标程序名称清理目标程序,具体包括如下子步骤S1041-S1043,详述如下:
S1041、传输所述目标程序名称至应用清理程序,所述应用清理程序包括多种应用程序的清理方法。
S1042、从所述应用清理程序的多种清理方法中确定目标程序的目标清理方法。
S1043、运行所述目标清理方法清理所述目标程序。
在应用中,上述应用清理程序可以为终端设备内部自带的应用程序,其内部存储有多种应用程序的清理方法。其中,清理目标程序的方法具体可参照上述S104中的说明内容,对此不再进行解释。
在应用中,上述目标清理方法可以与目标程序一一对应,也可以为一个目标清理方法对应多个目标程序。基于此,终端设备可建立目标清理方法与目标程序之间的单对多映射关系,以及单对多映射关系,以对目标清理方法和目标程序进行关联。
在应用中,上述从应用清理程序的多种清理方法中,确定目标程序的目标清理方法的部分程序代码具体如下所示:
am.force Stop Package(s Package Name)。
请参照图6,在一具体实施例中,在S104根据所述目标程序名称清理目标程序之后,还包括如下步骤S104A-S104C,详述如下:
S104A、统计所述目标程序运行时占用的运行内存。
S104B、计算所述终端设备的系统内存与所述运行内存的差值,得到剩余内存。
在应用中,上述系统内存通常为应用程序运行时的临时存储介质。该系统内存的容量越大,则终端设备可同时运行多个后台应用程序,且终端设备的系统响应应用程序运行的速度也将变快。其中,上述运行内存为目标程序在终端设备内部运行时所需使用的内存。即可认为目标程序运行时在系统内存中占用的部分内存即为运行内存。此时,运行内存与系统内存之间的差值,即为终端设备剩余的系统内存(即剩余内存)。
可以理解的是,上述系统内存决定终端设备可同时运行的应用程序数量和应用程序大小。例如,A目标程序在终端设备的后台运行时占用400M的运行内存,若系统内存只有4GB,则终端设备最多只能同时启动10个与A目标程序的运行内存接近的应用程序。若运行内存超过整体的系统内存,则终端设备将会出现明显卡顿的情况,且将造成当前时刻下用户使用的第一应用程序出现异常闪退的情况。
S104C、若所述剩余内存小于预设值,则清除所述运行内存中的缓存数据。
在应用中,上述预设值可为用户根据终端设备系统内存的实际情况进行设置的数值。上述缓存数据包括但不限于运行目标程序时所产生的语音缓存数据、图片缓存数据、文本文件缓存数据等,对此不作限定。需要说明的是,若剩余内存小于预设值,则代表终端设备的剩余内存将无法支持第一应用程序持续进行运行,或者,无法支持下一时刻的应用程序进行运行。基于此,终端设备需清除每个目标程序对应的运行内存中的缓存数据。
需要特别说明的是,在清除完系统内存中目标程序的缓存数据后,系统内存中可能还存在一些缓存数据的碎片,依然会占用系统内存的空间。此时,在清除运行内存中的缓存数据之后,还可进一步地对系统内存中的缓存数据碎片进行清理,以对系统内存起到更好的优化作用。可以理解的是,确定系统内存中的缓存数据是否为缓存数据碎片具体可为:分别统计每个缓存数据在系统内存的占用空间是否小于目标值,若小于目标值,则确定当前缓存数据为缓存数据碎片。以此,对系统内存的缓存数据做进一步的清理。
请参照图7,在一具体实施例中,所述目标程序包括多个;在S104A统计所述目标程序运行时占用的运行内存,具体包括如下子步骤S104A1-S104A2,详述如下:
S104A1、分别根据多个目标程序的目标程序名称,对所述系统内存进行正则匹配,以确定所述多个目标程序运行时占用的内存空间。
S104A2、根据所述多个目标程序占用的内存空间,计算所述运行内存。
在应用中,上述目标程序通常具有多个,基于此,终端设备应统计所有目标程序在系统内存中所占用的内存空间。之后,将所有占用的内存空间进行加和计算,得到所有目标程序在系统内存中占用的运行内存的大小。
在应用中,上述正则匹配具体为正则表达式,在程序代码中常简写为regex、regexp或RE。其中,正则表达式通常被用来检索、替换符合某个模式(规则)的文本。即正则表达式可用于从多个应用程序的程序名称中,检索出与目标程序名称符合的程序名称。
示例性的,对于目标程序名称为Foxmail,其正则表达式为/ya(A|B|C)/(需要说明的是,该正则表达式只为说明正则匹配的匹配方式)。基于此,终端设备可在系统内存中的各个存储路径进行查找,对每个存储路径下的程序名称进行匹配。例如,先在各个存储路径下的字符串中查找y,然后匹配其(y)后是否为a。如果是a,则继续查找其(a)后是否为A。如果不是,则淘汰当前匹配的存储路径的分支,并选择其他存储路径的分支进行匹配。直至查询到与正则表达式一致的存储路径的分支,以此确定该存储路径的分支为目标程序运行时在系统内存占用的内存空间。
请参阅图8,图8是本申请实施例提供的一种应用程序清理装置的结构框图。本实施例中该终端设备包括的各单元用于执行图1至图7对应的实施例中的各步骤。具体请参阅图1至图7以及图1至图7所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,应用程序清理装置800包括:获取模块810、第一确定模块820、第二确定模块830和清理模块840,其中:
获取模块810,用于获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称。
第一确定模块820,用于若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序。
第二确定模块830,用于从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称。
清理模块840,用于根据所述目标程序名称清理目标程序。
在一实施例中,应用程序清理装置800还包括:
创建模块,用于创建前台监听服务,所述前台监听服务用于监听所述当前时刻下处于运行状态的第一应用程序。
配置模块,用于配置所述前台监听服务的运行优先级,以使在所述终端设备启动时运行所述前台监听服务。
在一实施例中,应用程序清理装置800还包括:
监测模块,用于实时监测所述前台监听服务的运行状态。
控制模块,用于若监测到所述前台监听服务的运行状态为关闭状态,则控制所述前台监听服务进行自启动。
在一实施例中,应用程序清理装置800还包括:
生成模块,用于生成所述系统应用列表,所述系统应用列表中记录有根据用户输入的生成指令添加的应用程序的程序名称。
接收模块,用于接收用户输入的修改指令,所述修改指令用于对所述系统应用列表中的程序名称进行修改,所述修改至少包括对所述系统应用列表中的程序名称进行添加、删除中的一种。
在一实施例中,清理模块840还用于:
传输所述目标程序名称至应用清理程序,所述应用清理程序包括多种应用程序的清理方法;
从所述应用清理程序的多种清理方法中确定目标程序的目标清理方法;
运行所述目标清理方法清理所述目标程序。
在一实施例中,应用程序清理装置800还包括:
统计模块,用于统计所述目标程序运行时占用的运行内存。
计算模块,用于计算所述终端设备的系统内存与所述运行内存的差值,得到剩余内存。
清除模块,用于若所述剩余内存小于预设值,则清除所述运行内存中的缓存数据。
在一实施例中,所述目标程序包括多个;统计模块还用于:
分别根据多个目标程序的目标程序名称,对所述系统内存进行正则匹配,以确定所述多个目标程序运行时占用的内存空间;
根据所述多个目标程序占用的内存空间,计算所述运行内存。
应当理解的是,图8示出的应用程序清理装置的结构框图中,各单元/模块用于执行图1至图7对应的实施例中的各步骤,而对于图1至图7对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1至图7以及图1至图7所对应的实施例中的相关描述,此处不再赘述。
图9是本申请另一实施例提供的一种终端设备的结构框图。如图9所示,该实施例的终端设备900包括:处理器910、存储器920以及存储在存储器920中并可在处理器910运行的计算机程序930,例如应用程序清理方法的程序。处理器910执行计算机程序930时实现上述各个应用程序清理方法各实施例中的步骤,例如图1所示的S101至S104。或者,处理器910执行计算机程序930时实现上述图8对应的实施例中各单元的功能,例如,图8所示的模块810至840的功能,具体请参阅图8对应的实施例中的相关描述。
终端设备可包括,但不仅限于,处理器910、存储器920。本领域技术人员可以理解,图9仅仅是终端设备900的示例,并不构成对终端设备900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器910可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器920可以是终端设备900的内部存储单元,例如终端设备900的硬盘或内存。存储器920也可以是终端设备900的外部存储设备,例如终端设备900上配备的插接式硬盘,智能存储卡,闪存卡等。进一步地,存储器920还可以既包括终端设备900的内部存储单元也包括外部存储设备。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种应用程序清理方法,其特征在于,应用于终端设备,所述方法包括:
获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称;
若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序;
从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称;
根据所述目标程序名称清理目标程序。
2.如权利要求1所述的应用程序清理方法,其特征在于,在所述获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称之前,还包括:
创建前台监听服务,所述前台监听服务用于监听所述当前时刻下处于运行状态的第一应用程序;
配置所述前台监听服务的运行优先级,以使在所述终端设备启动时运行所述前台监听服务。
3.如权利要求2所述的应用程序清理方法,其特征在于,在所述配置所述前台监听服务的运行优先级之后,还包括:
实时监测所述前台监听服务的运行状态;
若监测到所述前台监听服务的运行状态为关闭状态,则控制所述前台监听服务进行自启动。
4.如权利要求1所述的应用程序清理方法,其特征在于,在所述从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称之前,还包括:
生成所述系统应用列表,所述系统应用列表中记录有根据用户输入的生成指令添加的应用程序的程序名称;
接收用户输入的修改指令,所述修改指令用于对所述系统应用列表中的程序名称进行修改,所述修改至少包括对所述系统应用列表中的程序名称进行添加、删除中的一种。
5.如权利要求1所述的应用程序清理方法,其特征在于,所述根据所述目标程序名称清理目标程序,包括:
传输所述目标程序名称至应用清理程序,所述应用清理程序包括多种应用程序的清理方法;
从所述应用清理程序的多种清理方法中确定目标程序的目标清理方法;
运行所述目标清理方法清理所述目标程序。
6.如权利要求1所述的应用程序清理方法,其特征在于,在所述根据所述目标程序名称清理目标程序之后,还包括:
统计所述目标程序运行时占用的运行内存;
计算所述终端设备的系统内存与所述运行内存的差值,得到剩余内存;
若所述剩余内存小于预设值,则清除所述运行内存中的缓存数据。
7.如权利要求6所述的应用程序清理方法,其特征在于,所述目标程序包括多个;
所述统计所述目标程序运行时占用的运行内存,包括:
分别根据多个目标程序的目标程序名称,对所述系统内存进行正则匹配,以确定所述多个目标程序运行时占用的内存空间;
根据所述多个目标程序占用的内存空间,计算所述运行内存。
8.一种应用程序清理装置,其特征在于,应用于终端设备,所述装置包括:
获取模块,用于获取当前时刻下处于运行状态的第一应用程序的第一程序名称,以及上一时刻处于运行状态的第二应用程序的第二程序名称;
第一确定模块,用于若所述第一程序名称与所述第二程序名称不一致,则确定所述当前时刻下未被清理的后台应用程序,其中,所述后台应用程序至少包括所述第二应用程序;
第二确定模块,用于从所述后台应用程序对应的程序名称中,确定出未被预设系统应用列表记录的目标程序名称;
清理模块,用于根据所述目标程序名称清理目标程序。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110140630.9A CN112835640A (zh) | 2021-02-02 | 2021-02-02 | 应用程序清理方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110140630.9A CN112835640A (zh) | 2021-02-02 | 2021-02-02 | 应用程序清理方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112835640A true CN112835640A (zh) | 2021-05-25 |
Family
ID=75931433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110140630.9A Pending CN112835640A (zh) | 2021-02-02 | 2021-02-02 | 应用程序清理方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835640A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526638A (zh) * | 2017-08-01 | 2017-12-29 | 广东欧珀移动通信有限公司 | 应用程序处理方法、装置、移动终端及存储介质 |
CN107957906A (zh) * | 2017-12-20 | 2018-04-24 | 珠海全志科技股份有限公司 | 终端设备的应用程序管理方法、计算机装置、计算机可读存储介质 |
CN110825458A (zh) * | 2019-11-06 | 2020-02-21 | 深圳传音控股股份有限公司 | 后台应用清理方法、装置及计算机可读存储介质 |
-
2021
- 2021-02-02 CN CN202110140630.9A patent/CN112835640A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526638A (zh) * | 2017-08-01 | 2017-12-29 | 广东欧珀移动通信有限公司 | 应用程序处理方法、装置、移动终端及存储介质 |
CN107957906A (zh) * | 2017-12-20 | 2018-04-24 | 珠海全志科技股份有限公司 | 终端设备的应用程序管理方法、计算机装置、计算机可读存储介质 |
CN110825458A (zh) * | 2019-11-06 | 2020-02-21 | 深圳传音控股股份有限公司 | 后台应用清理方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
WULIANGHUAN: "Android判断应用在前台还是后台运行(判断应用前后台切换)", Retrieved from the Internet <URL:https://blog.csdn.net/wulianghuan/article/details/46348043> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284217B (zh) | 应用程序异常处理方法、装置、电子设备及存储介质 | |
CN111258921B (zh) | 垃圾内存回收方法及装置、电子设备、存储介质 | |
US8910138B2 (en) | Hot pluggable extensions for access management system | |
CN107450971B (zh) | 任务处理方法及装置 | |
WO2019153532A1 (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
US20200193027A1 (en) | Firmware upgrade method, slave station of robot, and machine readable storage medium | |
CN112118459A (zh) | 共享摄像头数据实现多个app共同直播的方法及可读介质 | |
CN109656742A (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN109976926A (zh) | 一种屏蔽重启保护bmc更新过程的方法、电路、终端及存储介质 | |
CN111538585A (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN115220912A (zh) | 系统资源的配置方法、装置、电子设备以及存储介质 | |
CN111488163B (zh) | 一种固件更新方法、装置及电子设备和存储介质 | |
CN113238849A (zh) | 定时任务处理方法、装置、存储介质与电子设备 | |
CN101251815A (zh) | 用于恢复计算系统的系统和方法 | |
CN112835640A (zh) | 应用程序清理方法、装置、终端设备及存储介质 | |
CN112153215A (zh) | 通话处理方法、装置、相关设备及存储介质 | |
CN113127191B (zh) | 一种资源更新方法、存储介质及相关装置 | |
CN112925675B (zh) | 用于小程序的恢复方法和装置 | |
CN111200833A (zh) | 一种网元状态的确定方法及装置 | |
CN104216780A (zh) | 应用程序关联操作的控制方法和控制装置 | |
CN114968110A (zh) | 一种存储卷扩容方法、装置以及介质 | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN107704399B (zh) | 一种存储数据的方法和装置 | |
CN108228328B (zh) | 一种流任务实现方法、装置及电子设备 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 |
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 |