CN105786550B - 一种内存应用处理方法及装置 - Google Patents

一种内存应用处理方法及装置 Download PDF

Info

Publication number
CN105786550B
CN105786550B CN201410831755.6A CN201410831755A CN105786550B CN 105786550 B CN105786550 B CN 105786550B CN 201410831755 A CN201410831755 A CN 201410831755A CN 105786550 B CN105786550 B CN 105786550B
Authority
CN
China
Prior art keywords
application
stack
time period
time
duration
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
CN201410831755.6A
Other languages
English (en)
Other versions
CN105786550A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201410831755.6A priority Critical patent/CN105786550B/zh
Publication of CN105786550A publication Critical patent/CN105786550A/zh
Application granted granted Critical
Publication of CN105786550B publication Critical patent/CN105786550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供一种内存处理方法及装置,其中内存处理方法包括周期性获取栈顶应用的第一使用参数;依据第一使用参数,至少统计栈顶应用在第一时间段内和第二时间段内的第二使用参数;基于第二使用参数,确定驻留在内存中的所有应用的优先级排序,所有应用包含栈顶应用;依据所确定的优先级排序,清理除栈顶应用之外的驻留在内存中的其他应用。其中第一时间段内和第二时间段内的第二使用参数可以体现应用使用情况,而应用使用情况又客观体现出用户对应用的需求,即本发明可以根据用户对应用的需求自动确定应用的优先级排序并自动清理。与现有技术中用户自主选择被清理的应用的方式来说,实现自动确定及清理,提高自动化程度并降低用户的交互负担。

Description

一种内存应用处理方法及装置
技术领域
本发明涉及内存处理技术领域,特别涉及一种内存应用处理方法及装置。
背景技术
安卓系统是一种以Linux与JAVA为基础的开放源代码操作系统,其最初由AndyRubin(安迪·鲁宾)开发,被谷歌收购后则由Google公司和开放手机联盟领导及开发,主要适用于手机和平板等便携式电子设备。
目前安卓系统中常驻应用有很多,包括系统应用、常驻应用和栈顶应用等,清理这些应用的方式通常有两种:一种是安卓系统自带的应用清理方式;另一种是应用层提供的应用清理方式。其中安卓系统自带的应用清理方式是:获取应用的进出顺序,采用先进先出的方式清理;应用层提供的应用清理方式则:清理用户所选择的应用。
虽然上述两种方式可以清理安卓系统中的应用,但是安卓系统自带的应用清理方式不能根据用户对应用的需求确定出哪些应用应该被清理,应用层提供的应用清理方式虽可以根据用户对应用的需求确定出应该被清理的应用,但用户自主选择会降低自动化程度,增加用户的交互负担。
发明内容
有鉴于此,本发明提供一种内存应用处理方法及装置,可以自动确定内存中所有应用的优先级排序,并根据优先级排序清楚除栈顶应用之外的驻留在内存中的其他应用。技术方案如下:
本发明提供一种内存应用处理方法,所述内存应用处理方法包括:
周期性获取栈顶应用的第一使用参数;
依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数;
基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序,所述所有应用包含所述栈顶应用;
依据所确定的优先级排序,清理除所述栈顶应用之外的驻留在所述内存中的其他应用。
优选的,所述获取栈顶应用的第一使用参数包括:
获取所述栈顶应用的应用名称;
在当前获取的所述应用名称与上一次获取的应用名称不同时,获取所述栈顶应用的开启时间;
获取所述栈顶应用的结束时间和持续时长,其中所述结束时间为晚于所述开启时间且相邻的下一次获取的所述开启时间;所述持续时长为同一个所述栈顶应用的所述结束时间和所述开启时间之差。
优选的,所述依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数包括:
依据所述应用名称,统计所述栈顶应用在所述第一时间段和所述第二时间段内的归一化的使用次数;
对所述栈顶应用在所述第一时间段和所述第二时间段内的所述持续时长进行归一化处理,得到所述栈顶应用的使用时长。
优选的,所述基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序包括:
基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级;
依据所述优先级等级,对所述应用进行优先级排序。
优选的,所述基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级包括:
对所述使用次数和所述使用时长进行加权相加处理,得到处理结果,所述处理结果用于指示所述应用的优先级等级。
本发明还提供一种内存应用处理装置,所述内存应用处理装置包括:
获取单元,用于周期性获取栈顶应用的第一使用参数;
统计单元,用于依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数;
确定单元,用于基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序,所述所有应用包含所述栈顶应用;
清理单元,用于依据所确定的优先级排序,清理除所述栈顶应用之外的驻留在所述内存中的其他应用。
优选的,所述获取单元包括:第一获取子单元、第二获取子单元和第三获取子单元;其中,
所述第一获取子单元,用于获取所述栈顶应用的应用名称;
所述第二获取子单元,用于在当前获取的所述应用名称与上一次获取的应用名称不同时,获取所述栈顶应用的开启时间;
所述第三获取子单元,用于获取所述栈顶应用的结束时间和持续时长,其中所述结束时间为晚于所述开启时间且相邻的下一次获取的所述开启时间;所述持续时长为同一个所述栈顶应用的所述结束时间和所述开启时间之差。
优选的,所述统计单元包括:第一统计子单元和第二统计子单元;其中,
所述第一统计子单元,用于依据所述应用名称,统计所述栈顶应用在所述第一时间段和所述第二时间段内的归一化的使用次数;
所述第二统计子单元,用于对所述栈顶应用在所述第一时间段和所述第二时间段内的所述持续时长进行归一化处理,得到所述栈顶应用的使用时长。
优选的,所述确定单元包括:计算子单元和排序子单元;其中,
所述计算子单元,用于基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级;
所述排序子单元,用于依据所述优先级等级,对所述应用进行优先级排序。
优选的,所述计算子单元基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级包括:对所述使用次数和所述使用时长进行加权相加处理,得到处理结果,所述处理结果用于指示所述应用的优先级等级。
从上述技术方案可以看出,第一时间段内和第二时间段内的第二使用参数可以体现应用使用情况,而应用使用情况又客观体现出用户对应用的需求,因此本发明提供的内存应用处理方法可以根据用户对应用的需求自动确定驻留在内存中所有应用的优先级排序,再以优先级排序为基础自动清理除栈顶应用之外的驻留在内存中的其他应用。与现有技术中用户自主选择被清理的应用的方式来说,实现自动确定及清理,提高自动化程度并降低用户的交互负担。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的内存应用处理方法的流程图;
图2为本发明实施例提供的内存应用处理装置的结构示意图;
图3为图2所示的内存应用处理装置中获取单元的结构示意图;
图4为图2所示的内存应用处理装置中统计单元的结构示意图;
图5为图2所示的内存应用处理装置中确定单元的结构示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的内存应用处理方法的一种流程图,阐述了自动确定优先级排序并根据优先级排序自动清理应用的过程,具体可以包括以下步骤:
101:周期性获取栈顶应用的第一使用参数。其中栈顶应用电子设备前台运行的进程,即当前与用户正在交互的应用,而与用户正在交互的应用仅有一个栈顶应用,因此在周期性获取第一使用参数时每次仅获取到一个栈顶应用的第一使用参数,并且第一使用参数可以体现栈顶应用每次的使用情况。
在本发明实施例中,第一使用参数可以包括应用名称、开启时间、结束时间和持续时长。相应的获取第一使用参数的过程可以是:调用安卓系统的getTopApp()方法返回栈顶应用的应用名称。将当前获取的应用名称与上一次获取的应用名称进行比较,在当前获取的应用名称与上一次获取的应用名称不同时,表明电子设备当前运行的栈顶应用发生变化,则在获取到应用名称之后,进一步获取栈顶应用的开启时间;在当前获取的应用名称与上一次获取的应用名称相同时,表明电子设备当前运行的栈顶应用未发生变化,此时无需获取栈顶应用的开启时间。其中上一次可以理解为上一个周期。
栈顶应用的结束时间则由下一次获取的开启时间来决定,所谓下一次获取的开启时间是后续检测到的栈顶应用的应用名称与当前的应用名称不相同时的栈顶应用的开启时间,即另一个栈顶应用被开启后,当前的栈顶应用结束,这样栈顶应用的结束时间则为晚于开启时间且相邻的下一次获取的开启时间。相应的持续时长则是同一个栈顶应用的结束时间和开启时间之差,其中同一个栈顶应用可以由应用名称来决定。
在本发明实施例中,为了获取上述第一使用参数,可以在电子设备的后台驻留一个服务器,为该服务器定义一个TimerTask(计时任务)来周期性地探测当前的栈顶应用,该TimerTask可以调用安卓系统的getTopApp()方法。
获取到上述第一参数后,可以将第一使用参数缓存在内存中,并利用System.currentTimeMillis()判断距离上次将内存中的第一使用参数写入磁盘的时间差是否大于预设时间,如果大于则将内存中的第一使用参数再次写入磁盘中,否则更新内存中缓存的第一使用参数,这样可以降低调用I/O(Input/Output,输入/输出)操作,其中预设时间为实现降低调用I/O操作的次数设定的时间,其可以为1min(分)或者其他数值,对此本发明实施例并不限定其取值。
这里需要说明的一点是:本发明实施例采用周期性的方式获取栈顶应用的第一使用参数,可以降低栈顶应用被遗漏检测的几率,并且可以根据电子设备的硬件参数来设定轮询周期,如5s(秒),即每隔5s对栈顶应用进行一次检测,这样记录栈顶应用准确打开的时间的误差则不超过5s。
102:依据第一使用参数,至少统计栈顶应用在第一时间段内和第二时间段内的第二使用参数。其中第一时间段内和第二时间段内的第二使用参数分别体现栈顶应用在第一时间段内和第二时间段内的应用使用情况,而这一应用使用情况又体现出用户对栈顶应用的需求,因此第二使用参数可以体现不同时间段内用户对栈顶应用的需求。
在本发明实施例中,第一时间段和第二时间段可以随机设置,如第一时间段可以为一天,第二时间段可以为一周。并且本领域技术人员还可以在统计这两个时间段的第二使用参数的基础上,统计其他时间段的第二使用参数来更好的体现用户对栈顶应用的需求。
当第一使用参数包括上述应用名称、开启时间、结束时间和持续时长时,在第一时间段内和第二时间段内统计第二使用参数可以包括归一化的使用次数和使用时长,其过程可以如下:
依据应用名称,统计栈顶应用在第一时间段和第二时间段内的归一化的使用次数;对栈顶应用在第一时间段和第二时间段内的持续时长进行归一化处理,得到栈顶应用的使用时长。
其中不同时间段的使用次数可以依据在各自时间段内应用名称被记录的次数来获取,其具体过程可以是:统计第一时间段内每个栈顶应用的使用次数和统计第二时间段内每个栈顶应用的使用次数,从这两个时间段内的使用次数中获取最大使用次数和最小使用次数,其中最大使用次数是取值大于其他使用次数的使用次数,最小使用次数则是取值小于其他使用次数的使用次数,那么每个栈顶应用的归一化的使用次数则是:
d’=(d-dmin)/(dmax-dmin),其中dmin,dmax分别是最小使用次数和最大使用次数,d是每个栈顶应用的未归一化的使用次数。
相应的每个栈顶应用的使用时长也通过对持续时长进行归一化得到,过程为:统计第一时间段内每个栈顶应用的持续时长和统计第二时间段内每个栈顶应用的持续时长,从这两个时间段内的持续时长中获取最大持续时长和最小持续时长,其中最大持续时长是取值大于其他持续时长的持续时长,最小持续时长则是取值小于其他持续时长的持续时长,那么每个栈顶应用的使用时长则是:
t’=(t-tmin)/(tmax-tmin),其中tmin,tmax分别是最小持续时长和最大持续时长,t是每个栈顶应用的持续时长。
103:基于第二使用参数,确定驻留在内存中的所有应用的优先级排序,其中所有应用包含栈顶应用。
104:依据所确定的优先级排序,清理除栈顶应用之外的驻留在内存中的其他应用。
优先级排序用于表示用户对每个应用的需求情况,优先级排序靠前的应用一般为用户经常使用的应用,即用户比较喜欢的应用,优先级排序靠后的应用则是用户不常使用的应用,即用户不喜欢的应用,这样在清理内存中的应用时可以优先清楚优先级排序靠后的应用。
在本发明实施例中,在第二使用参数包括上述归一化的使用次数和使用时长时,优先级排序的确定过程为:基于使用次数和使用时长,得到驻留在内存中的每个应用的优先级等级,并依据优先级等级,对应用进行优先级排序。在进行优先级排序时,优先级等级较高的应用的顺序靠前,而优先级等级较低的应用的顺序靠后。
进一步基于使用次数和使用时长,得到驻留在内存中的每个应用的优先级等级的过程则是:对使用次数和使用时长进行加权相加处理,得到处理结果,处理结果用于指示应用的优先级等级。具体可以是:
依据公式
Figure BDA0000644714160000071
计算每个XZ 应用的处理结果Score,该处理结果Score可以以取值形式来表示每个应用的优先级等级, 即取值越高优先级等级越高,取值越低则优先级等级越低。
其中W为第二时间段内归一化的使用次数的集合,
Figure BDA0000644714160000081
为从第一时间段起到第二时间段为止的时间内的使用时长均值,M为第一时间段内归一化的使用次数的集合,a1、a2、a3为可变系数,暂定为a1=0.2,a2=0.3,a3=0.5。
从处理结果Score的计算公式可以看出,优先级等级同时考虑了使用次数和使用时长这两个因素,而这两个因素又是从用户历史行为习惯(对应用的使用情况)中获取,因此优先级等级是在考虑用户的需求的基础上得到的,那么在进行应用清理时也考虑了用户的需求进行清理,首先清理用户的需求较低的应用。
从上述技术方案可以看出,第一时间段内和第二时间段内的第二使用参数可以体现应用使用情况,而应用使用情况又客观体现出用户对应用的需求,因此本发明提供的内存应用处理方法可以根据用户对应用的需求自动确定驻留在内存中所有应用的优先级排序,再以优先级排序为基础自动清理除栈顶应用之外的驻留在内存中的其他应用。与现有技术中用户自主选择被清理的应用的方式来说,实现自动确定及清理,提高自动化程度并降低用户的交互负担。
在这里需要说明的一点是:进行优先级排序时,Launcher、栈顶应用、输入法应用、开启中的音乐播放器和系统进程这些应用的优先级为最高优先级,换句话说当这些应用中的任意一种应用在经过本发明实施例提供的方法得到的优先级等级较低时,需要将其优先级等级自动更改为最高的优先级等级,使其排序最高进而避免被清理。其中Launcher是安卓系统启动的第一个应用,即安卓系统的桌面;开启中的音乐播放器可以以该音乐播放器是否在播放音乐来判断。
与上述方法实施例相对应,本发明还提供一种内存应用处理装置,其结构示意图如图2所示,可以包括:获取单元11、统计单元12、确定单元13和清理单元14。
获取单元11,用于周期性获取栈顶应用的第一使用参数。其中栈顶应用电子设备前台运行的进程,即当前与用户正在交互的应用,而与用户正在交互的应用仅有一个栈顶应用,因此在周期性获取第一使用参数时每次仅获取到一个栈顶应用的第一使用参数,并且第一使用参数可以体现栈顶应用每次的使用情况。
本发明实施例采用周期性的方式获取栈顶应用的第一使用参数,可以降低栈顶应用被遗漏检测的几率,并且可以根据电子设备的硬件参数来设定轮询周期,如5s(秒),即每隔5s对栈顶应用进行一次检测,这样记录栈顶应用准确打开的时间的误差则不超过5s。
在本发明实施例中,第一使用参数可以包括应用名称、开启时间、结束时间和持续时长。相应的获取单元11的结构示意图可以如图3所示,包括:第一获取子单元111、第二获取子单元112和第三获取子单元113。
其中,第一获取子单元111用于获取栈顶应用的应用名称,其可以调用安卓系统的getTopApp()方法返回栈顶应用的应用名称。在当前获取的应用名称与上一次获取的应用名称不同时,表明电子设备当前运行的栈顶应用发生变化,则在获取到应用名称之后,进一步由第二获取子单元112获取栈顶应用的开启时间;在当前获取的应用名称与上一次获取的应用名称相同时,表明电子设备当前运行的栈顶应用未发生变化,此时无需获取栈顶应用的开启时间。其中上一次可以理解为上一个周期。
第三获取子单元113则用于获取栈顶应用的结束时间和持续时长,栈顶应用的结束时间由下一次获取的开启时间来决定,所谓下一次获取的开启时间是后续检测到的栈顶应用的应用名称与当前的应用名称不相同时的栈顶应用的开启时间,即另一个栈顶应用被开启后,当前的栈顶应用结束,这样栈顶应用的结束时间则为晚于开启时间且相邻的下一次获取的开启时间。相应的持续时长则是同一个栈顶应用的结束时间和开启时间之差,其中同一个栈顶应用可以由应用名称来决定。
在获取到上述第一参数后,可以将第一使用参数缓存在内存中,并利用System.currentTimeMillis()判断距离上次将内存中的第一使用参数写入磁盘的时间差是否大于预设时间,如果大于则将内存中的第一使用参数再次写入磁盘中,否则更新内存中缓存的第一使用参数,这样可以降低调用I/O(Input/Output,输入/输出)操作,其中预设时间为实现降低调用I/O操作的次数设定的时间,其可以为1min(分)或者其他数值,对此本发明实施例并不限定其取值。
统计单元12,用于依据第一使用参数,至少统计栈顶应用在第一时间段内和第二时间段内的第二使用参数。其中第一时间段内和第二时间段内的第二使用参数分别体现栈顶应用在第一时间段内和第二时间段内的应用使用情况,而这一应用使用情况又体现出用户对栈顶应用的需求,因此第二使用参数可以体现不同时间段内用户对栈顶应用的需求。
在本发明实施例中,第一时间段和第二时间段可以随机设置,如第一时间段可以为一天,第二时间段可以为一周。并且本领域技术人员还可以在统计这两个时间段的第二使用参数的基础上,统计其他时间段的第二使用参数来更好的体现用户对栈顶应用的需求。
当第一使用参数包括上述应用名称、开启时间、结束时间和持续时长时,在第一时间段内和第二时间段内统计第二使用参数可以包括归一化的使用次数和使用时长,相应的统计单元12可以包括第一统计子单元121和第二统计子单元122,如图4所示。
其中第一统计子单元121用于依据应用名称,统计栈顶应用在第一时间段和第二时间段内的归一化的使用次数;第二统计子单元122则用于对栈顶应用在第一时间段和第二时间段内的持续时长进行归一化处理,得到栈顶应用的使用时长。
其中不同时间段的使用次数可以依据在各自时间段内应用名称被记录的次数来获取,其具体过程可以是:统计第一时间段内每个栈顶应用的使用次数和统计第二时间段内每个栈顶应用的使用次数,从这两个时间段内的使用次数中获取最大使用次数和最小使用次数,其中最大使用次数是取值大于其他使用次数的使用次数,最小使用次数则是取值小于其他使用次数的使用次数,那么每个栈顶应用的归一化的使用次数则是:
d’=(d-dmin)/(dmax-dmin),其中dmin,dmax分别是最小使用次数和最大使用次数,d是每个栈顶应用的未归一化的使用次数。
相应的每个栈顶应用的使用时长也通过对持续时长进行归一化得到,过程为:统计第一时间段内每个栈顶应用的持续时长和统计第二时间段内每个栈顶应用的持续时长,从这两个时间段内的持续时长中获取最大持续时长和最小持续时长,其中最大持续时长是取值大于其他持续时长的持续时长,最小持续时长则是取值小于其他持续时长的持续时长,那么每个栈顶应用的使用时长则是:
t’=(t-tmin)/(tmax-tmin),其中tmin,tmax分别是最小持续时长和最大持续时长,t是每个栈顶应用的持续时长。
确定单元13,用于基于第二使用参数,确定驻留在内存中的所有应用的优先级排序,其中所有应用包含栈顶应用。
清理单元14,用于依据所确定的优先级排序,清理除栈顶应用之外的驻留在内存中的其他应用。
优先级排序用于表示用户对每个应用的需求情况,优先级排序靠前的应用一般为用户经常使用的应用,即用户比较喜欢的应用,优先级排序靠后的应用则是用户不常使用的应用,即用户不喜欢的应用,这样在清理内存中的应用时可以优先清楚优先级排序靠后的应用。
在本发明实施例中,在第二使用参数包括上述归一化的使用次数和使用时长时,确定单元13可以包括计算子单元131和排序子单元132,如图5所示。
其中计算子单元131用于基于使用次数和使用时长,得到驻留在内存中的每个应用的优先级等级;排序子单元132用于依据优先级等级,对应用进行优先级排序。在进行优先级排序时,优先级等级较高的应用的顺序靠前,而优先级等级较低的应用的顺序靠后。
进一步计算子单元131基于使用次数和使用时长,得到驻留在内存中的每个应用的优先级等级的过程则是:对使用次数和使用时长进行加权相加处理,得到处理结果,处理结果用于指示应用的优先级等级。具体可以是:
依据公式
Figure BDA0000644714160000111
计算每个应 用的处理结果Score,该处理结果Score可以以取值形式来表示每个应用的优先级等级,即 取值越高优先级等级越高,取值越低则优先级等级越低。
其中W为第二时间段内归一化的使用次数的集合,
Figure BDA0000644714160000121
为从第一时间段起到第二时间段为止的时间内的使用时长均值,M为第一时间段内归一化的使用次数的集合,a1、a2、a3为可变系数,暂定为a1=0.2,a2=0.3,a3=0.5。
从处理结果Score的计算公式可以看出,优先级等级同时考虑了使用次数和使用时长这两个因素,而这两个因素又是从用户历史行为习惯(对应用的使用情况)中获取,因此优先级等级是在考虑用户的需求的基础上得到的,那么在进行应用清理时也考虑了用户的需求进行清理,首先清理用户的需求较低的应用。
从上述技术方案可以看出,第一时间段内和第二时间段内的第二使用参数可以体现应用使用情况,而应用使用情况又客观体现出用户对应用的需求,因此本发明提供的内存应用处理装置可以根据用户对应用的需求自动确定驻留在内存中所有应用的优先级排序,再以优先级排序为基础自动清理除栈顶应用之外的驻留在内存中的其他应用。与现有技术中用户自主选择被清理的应用的方式来说,实现自动确定及清理,提高自动化程度并降低用户的交互负担。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的内存应用处理方法及装置进行详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种内存应用处理方法,所述内存应用处理方法包括:
周期性获取栈顶应用的第一使用参数,其中包括:获取所述栈顶应用的应用名称;在当前获取的所述应用名称与上一次获取的应用名称不同时,获取所述栈顶应用的开启时间;获取所述栈顶应用的结束时间和持续时长,其中所述结束时间为晚于所述开启时间且相邻的下一次获取的另一栈顶应用的开启时间;所述持续时长为同一个所述栈顶应用的所述结束时间和所述开启时间之差;所述栈顶应用为在前台运行的应用;所述第一使用参数体现所述栈顶应用每次的使用情况;
依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数,所述第二使用参数体现栈顶应用在所述第一时间段内和所述第二时间段内的应用使用情况;基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序,所述所有应用包含所述栈顶应用;
依据所确定的优先级排序,清理除所述栈顶应用之外的驻留在所述内存中的其他应用。
2.根据权利要求1所述的方法,其特征在于,所述依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数包括:
依据所述应用名称,统计所述栈顶应用在所述第一时间段和所述第二时间段内的归一化的使用次数;
对所述栈顶应用在所述第一时间段和所述第二时间段内的所述持续时长进行归一化处理,得到所述栈顶应用的使用时长。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序包括:
基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级;
依据所述优先级等级,对所述应用进行优先级排序。
4.根据权利要求3所述的方法,其特征在于,所述基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级包括:
对所述使用次数和所述使用时长进行加权相加处理,得到处理结果,所述处理结果用于指示所述应用的优先级等级。
5.一种内存应用处理装置,所述内存应用处理装置包括:
获取单元,用于周期性获取栈顶应用的第一使用参数,所述第一使用参数体现所述栈顶应用每次的使用情况;
统计单元,用于依据所述第一使用参数,至少统计所述栈顶应用在第一时间段内和第二时间段内的第二使用参数,所述第二使用参数体现栈顶应用在所述第一时间段内和所述第二时间段内的应用使用情况;所述栈顶应用为在前台运行的应用;
确定单元,用于基于所述第二使用参数,确定驻留在内存中的所有应用的优先级排序,所述所有应用包含所述栈顶应用;
清理单元,用于依据所确定的优先级排序,清理除所述栈顶应用之外的驻留在所述内存中的其他应用;
所述获取单元包括:第一获取子单元、第二获取子单元和第三获取子单元;其中,
所述第一获取子单元,用于获取所述栈顶应用的应用名称;
所述第二获取子单元,用于在当前获取的所述应用名称与上一次获取的应用名称不同时,获取所述栈顶应用的开启时间;
所述第三获取子单元,用于获取所述栈顶应用的结束时间和持续时长,其中所述结束时间为晚于所述开启时间且相邻的下一次获取的另一栈顶应用的开启时间;所述持续时长为同一个所述栈顶应用的所述结束时间和所述开启时间之差。
6.根据权利要求5所述的装置,其特征在于,所述统计单元包括:第一统计子单元和第二统计子单元;其中,
所述第一统计子单元,用于依据所述应用名称,统计所述栈顶应用在所述第一时间段和所述第二时间段内的归一化的使用次数;
所述第二统计子单元,用于对所述栈顶应用在所述第一时间段和所述第二时间段内的所述持续时长进行归一化处理,得到所述栈顶应用的使用时长。
7.根据权利要求6所述的装置,其特征在于,所述确定单元包括:计算子单元和排序子单元;其中,
所述计算子单元,用于基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级;
所述排序子单元,用于依据所述优先级等级,对所述应用进行优先级排序。
8.根据权利要求7所述的装置,其特征在于,所述计算子单元基于所述使用次数和所述使用时长,得到驻留在所述内存中的每个所述应用的优先级等级包括:对所述使用次数和所述使用时长进行加权相加处理,得到处理结果,所述处理结果用于指示所述应用的优先级等级。
CN201410831755.6A 2014-12-26 2014-12-26 一种内存应用处理方法及装置 Active CN105786550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410831755.6A CN105786550B (zh) 2014-12-26 2014-12-26 一种内存应用处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410831755.6A CN105786550B (zh) 2014-12-26 2014-12-26 一种内存应用处理方法及装置

Publications (2)

Publication Number Publication Date
CN105786550A CN105786550A (zh) 2016-07-20
CN105786550B true CN105786550B (zh) 2020-07-24

Family

ID=56389626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410831755.6A Active CN105786550B (zh) 2014-12-26 2014-12-26 一种内存应用处理方法及装置

Country Status (1)

Country Link
CN (1) CN105786550B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708697B (zh) * 2016-09-29 2020-12-22 腾讯科技(深圳)有限公司 检测用户使用应用程序的方法和装置
CN107665147B (zh) * 2017-09-26 2019-12-06 厦门美图移动科技有限公司 一种移动设备的系统清理方法及移动设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147732A (zh) * 2011-05-18 2011-08-10 深圳市五巨科技有限公司 一种移动终端桌面快捷键的自动设置方法和装置
CN102521041A (zh) * 2011-12-14 2012-06-27 华为终端有限公司 一种处理应用程序的方法及无线手持设备
CN103607643A (zh) * 2013-12-13 2014-02-26 乐视致新电子科技(天津)有限公司 一种视频播放设备的内存清理方法和装置
CN103631661A (zh) * 2013-11-27 2014-03-12 青岛海信电器股份有限公司 一种内存管理方法和装置
CN103902335A (zh) * 2014-03-12 2014-07-02 上海天奕达电子科技有限公司 一种后台程序清理的方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147732A (zh) * 2011-05-18 2011-08-10 深圳市五巨科技有限公司 一种移动终端桌面快捷键的自动设置方法和装置
CN102521041A (zh) * 2011-12-14 2012-06-27 华为终端有限公司 一种处理应用程序的方法及无线手持设备
CN103631661A (zh) * 2013-11-27 2014-03-12 青岛海信电器股份有限公司 一种内存管理方法和装置
CN103607643A (zh) * 2013-12-13 2014-02-26 乐视致新电子科技(天津)有限公司 一种视频播放设备的内存清理方法和装置
CN103902335A (zh) * 2014-03-12 2014-07-02 上海天奕达电子科技有限公司 一种后台程序清理的方法及其系统

Also Published As

Publication number Publication date
CN105786550A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
JP6479999B2 (ja) ニュースリストの更新方法および装置
RU2601174C2 (ru) Способ, сервер и терминал для выполнения рекомендации приложения на основе использования приложения
WO2019019255A1 (zh) 建立预测模型的装置、方法、预测模型建立程序及计算机可读存储介质
JP6373849B2 (ja) プログラム、端末装置及び情報提供システムにおける情報提供方法
CN104598315A (zh) 管理内存的方法、装置及终端
EP2779665B1 (en) Information delivery targeting
CN109672936B (zh) 一种视频评估集的确定方法、装置及电子设备
US20170017655A1 (en) Candidate services for an application
US20140033216A1 (en) Task processing method and device
CN109815416A (zh) 关联信息的推送方法、装置,电子设备及存储介质
CN103686376A (zh) 智能电视的软件升级方法和装置
CN105786550B (zh) 一种内存应用处理方法及装置
CN105100875B (zh) 一种多媒体信息录制的控制方法及装置
CN104376095B (zh) 一种信息处理方法及电子设备
CN107301086A (zh) 进程处理方法、装置、移动终端及计算机可读取存储介质
CN113728655B (zh) 用于监控在操作系统内执行的至少一个应用的使用情况的方法、相应装置、计算机程序产品和计算机可读载体介质
CN109068005B (zh) 一种计时提醒事件的创建方法及装置
CN111638892A (zh) 一种优化应用更新排序的方法、装置、系统及存储介质
TW201426755A (zh) 清理終端冗餘資訊的方法及裝置
CN111365829A (zh) 一种空调的智能控制方法、系统及平台
JP2012155426A (ja) サーバ、情報処理方法、及びプログラム
CN110419027A (zh) 管理应用的方法和使用该方法的计算设备
WO2014019474A1 (en) Task processing method and device
CN113010788A (zh) 信息推送方法及装置、电子设备、计算机可读存储介质
WO2017067192A1 (zh) 节目单的获取方法、服务器、客户端及获取系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant