一种手机内存监控的方法及系统的制作方法

文档序号:8412429阅读:570来源:国知局
一种手机内存监控的方法及系统的制作方法
【技术领域】
[0001]本发明涉及智能终端领域,尤其涉及的是一种手机内存监控的方法及系统。
【背景技术】
[0002]目前智能手机已经开始逐步取代传统PC渗透进入了人们娱乐、生活的各个方面。
[0003]在智能手机的使用过程中,人们会在手机中安装大量应用程序,其中大多程序都是后台自动启动而且常驻内存,久而久之用户会觉得系统内存紧缺从而导致系统反应会很慢,应用程序安装的越多,系统在运行时,其内存的占用率越高,尤其是一些过度消耗内存的APP会严重影响手机整体性能。
[0004]虽然有些用户会安装一些内存清理软件,但这些软件功能单一,仅仅是清理内存,而且是需要用户手动来触发清理动作,每次用户发现内存不足都需要通过手动进行清理,给用户使用手机带来不便。
[0005]因此,现有技术有待于进一步的改进。

【发明内容】

[0006]鉴于上述现有技术中的不足之处,本发明的目的在于为用户提供手机内存监控的方法及系统,以解决现有技术中手机中安装的应用程序在后台运行时,导致占用大量内存,而无法自动清理的缺陷。
[0007]本发明解决技术问题所采用的技术方案如下:
一种手机内存监控的方法,其中,包括:
A、预先建立用于存储第三方应用程序的至少一个内存分组,并设置每个内存分组的最高总占用内存值;
B、根据手机中第三方应用程序的运行状态及配置信息将手机中后台运行的第三方应用程序分配存储到内存分组中;
C、实时对每个内存分组的第三方应用程序的总占用内存值进行检测,当内存组中申请占用的内存值或者已经分配出的内存值超出最高总占用内存值时,则触发该内存组的杀应用策略,将导致该内存分组的内存值超出的第三方应用关闭,释放其占用的内存。
[0008]所述手机内存监控的方法,其中,所述步骤A之前还包括:
A0、获取手机中安装的第三方应用程序,并将获取到的第三方应用程序的列表进行显不O
[0009]所述手机内存监控的方法,其中,所述步骤B还包括:
B1、对所述列表中的第三方应用程序的配置文件进行解析,解析完毕后对第三方应用程序的运行状态进行监控。
[0010]所述手机内存监控的方法,其中,所述步骤B还包括:
B2、若第三方应用程序的运行状态由后台运行切换为前台运行或者由前台运行切换为未运行,则判断该第三方应用程序是否存储到内存分组中,若是,则将其从内存分组中删除。
[0011]所述手机内存监控的方法,其中,所述步骤B还包括:
B3、若第三方应用程序的运行状态由前台运行切换为后台运行或者在后台启动运行,则根据配置信息将其添加到内存分组中存储。
[0012]一种手机内存监控的系统,其中,包括:建立内存分组模块、应用分配模块和释放内存模块;
建立内存分组模块,用于预先建立用于存储第三方应用程序的至少一个内存分组,并设置每个内存分组的最高总占用内存值;
应用分配模块,用于根据手机中第三方应用程序的运行状态及配置信息将手机中后台运行的第三方应用程序分配存储到内存分组中;
释放内存模块,用于实时对每个内存分组的第三方应用程序的总占用内存值进行检测,当内存组中申请占用的内存值或者已经分配出的内存值超出最高总占用内存值时,则触发该内存组的杀应用策略,将导致该内存分组的内存值超出的第三方应用关闭,释放其占用的内存。
[0013]所述手机内存监控的系统,其中,所述系统还包括:
应用列表显示模块,用于获取手机中安装的第三方应用程序,并将获取到的第三方应用程序的列表进行显示。
[0014]所述手机内存监控的系统,其中,所述应用分配模块,还用于对所述列表中的第三方应用程序的配置文件进行解析、并实时对地第三方应用程序的运行状态进行监控。
[0015]所述手机内存监控的系统,其中,所述应用分配模块,还用于若第三方应用程序的运行状态由后台运行切换为前台运行或者由前台运行切换为未运行,则判断该第三方应用程序是否存储到内存分组中,若是,则将其从内存分组中删除。
[0016]所述手机内存监控的系统,其中,所述应用分配模块,还用于若第三方应用程序的运行状态由前台运行切换为后台运行或者在后台启动运行,则根据配置信息将其添加到内存分组中存储。
[0017]有益效果,本发明所提供的一种手机内存监控的方法及系统,通过对安装在手机内部的第三方应用程序的运行状况及其配置信息进行检测,将其分别放到不同的内存分组中,如果组中应用所占用的总内存超过内存分组的上限,就会自动触发该内存分组的杀应用策略以释放内存,直到该组中的应用程序占用的总内存低于该内存分组的内存上限,从而系统可以自动对应用所占用的内存进行清理,不需要用户每次通过手动操作,提高了手机运行速率的同时也给用户带来便利。
【附图说明】
[0018]图1是本发明一种手机内存监控的方法步骤流程图。
[0019]图2是本发明一种手机内存监控的方法具体应用实施例的流程图。
[0020]图3是本发明一种手机内存监控的系统原理结构图。
【具体实施方式】
[0021]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0022]在手机系统中安装的应用程序,一般可以分成手机系统自带的应用程序和用户自己安装到手机系统上的第三方应用程序,由于在进行应用程序占用内存的管理监控中,若对手机系统自带的应用程序在运行时所占用的内存进行限制,可能会导致其系统运行异常,因此在本发明中仅通过对用户自行安装到手机系统上的第三方应用程序的内存使用进行限制。
[0023]本发明提供了一种手机内存监控的方法,如图1所示,所示方法具体包括以下步骤:
S1、预先建立用于存储第三方应用程序的至少一个内存分组,并设置每个内存分组的最高总占用内存值。
[0024]本步骤中内存分组的建立是基于linux cgroup机制来实现的,其为可以将任意进程进行分组化管理的Iinux内核功能,内存分组可以由用户自己建立或者系统自定义建立。内存分组建立后需要设置各个内存分组的内存上限,内存分组是用来容纳应用程序的,一个内存分组可以添加多个应用程序,但一个应用程序同一时刻只能属于一个内存分组。
[0025]由于内存分组的建立是基于linux cgroup机制来实现,因此在建立内存分组之前,需要确定系统已经mount cgroup的memory子集,如果未mount,需要通过如下方式mount:
mount -t cgroup -o memory none /memory
在cgroup安装点,查找是否已经建立指定名字的内存分组,如未建立,通过mkdir建立内存分组:
cd /memorymkdir内存分组Imkdir内存分组2
内存分组建立成功后,通过以下命令设置内存分组内存上限值(以每个内存分组的内存上限值为100M为例):
echo 100M > /memory/ 内存分组 I/memory.limit_in_bytes echo 10M > /memory/ 内存分组 1/memory, memsw.limit_in_bytes echo 10M > /memory/ 内存分组 2/memory.limit_in_bytes echo 10M > /memory/ 内存分组 2/memory, memsw.limit_in_bytes 当内存分组建立完毕后,用户可以手动将满足特定条件的第三方应用程序添加到内存分组中。
[0026]S2、根据手机中第三方应用程序的运行状态及配置信息将手机中后台运行的第三方应用程序分配存储到内存分组中。
[0027]在本步骤中,首先对安装在手机系统中的第三方应用程序的配置文件进行解析,若解析出所述第三方应用程序需要正在系统后台运行,则将该应用程序分配存储到内存分组中。
[0028]解析完毕后对第三方应用程序的运行状态进行监控:
若监控到第三方应用程序的运行状态由后台运行切换为前台运行或者由前台运行切换为未运行,则判断该第三方应用程序是否已经存储到内存分组中,若是,则将其从内存分组中删除。
[0029]若监控到第三方应用程序的运行状态由前台运行切换为后台运行或者在后台启动运行,则根据配置信息将其添加到内存分组中存储。
[0030]由于内存分组有多个,则可以通过判断其所含有的配置文件信息中,是否含有该应用程序是否为用户手动分配过该应用程序到相应的内存分组,若该应用程序的配置项中含有用户手动分配过的信息,则根据该配置项中含有的信息将该应用程序添加到指定的内存分组中。
[0031]S3、实时对每个内存分组的第三方应用程序的总占用内存值进行检测,当内存组中申请占用的内存值或者已经分配出的内存值超出最高总占用内存值时,则触发该内存组的杀应用策略,将导致该内存分组的内存值超出的第三方应用关闭,释放其占用的内存。
[0032]具体的,本步骤中内存组中第三方应用总内存值的大小超过内存分组的最高占用内存值有两种情况,一是新添加第三方应用到该内存组导致内存总大小超过内存组最高内存值;二是内存组中的第三方应用申请更多内存导致内存总大小超过内存组的最高占用内存值;对第一种情况,就是关闭最新分配进入的第三方应用程序;即该第三方应用程序导致该内存组的总占用内存值超出。对第二种情况,本次内存分配申请会失败,提出分配内存申请的第三方应用程序会被关闭。
[0033]为便于用户通过手动操作将满足条件的第三方应用程序分配到内存分组中,所述步骤SI之前还包括:
S0、获取手机中安装
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1