内存管理方法及装置制造方法及图纸

技术编号:15746437 阅读:93 留言:0更新日期:2017-07-03 01:45
本发明专利技术公开了一种内存管理方法及装置,至少能够解决现有方式中无法连续获取一段时间内的内存变化情况,因而无法确定内存占用情况的动态变化规律的技术问题。该方法包括:获取并解析内存信息文件,以获得系统中的各个进程在多个时间点所对应的进程内存映像;根据进程内存映像确定各个进程中的各个对象所占用的内存块的动态变化情况;根据动态变化情况判断各个对象所占用的内存块是否符合预设的回收条件,并在判断结果为是时,对符合回收条件的内存块进行回收。

Memory management method and device

The invention discloses a memory management method and device, at least to memory changes within a period of time can not solve the existing continuous acquisition mode, technical problems of dynamic changes and thus unable to determine the memory usage of the. The method includes: obtaining and analyzing memory information file to each process in the system at multiple time points corresponding to the process memory image; according to the dynamic changes of memory block the process memory image to determine the object of each process in the occupied memory block; each object occupied with preset recovery conditions according to the dynamic changes, and in the judgment result is, the recovery of memory block with recovery conditions.

【技术实现步骤摘要】
内存管理方法及装置
本专利技术涉及网络通信
,具体涉及一种内存管理方法及装置。
技术介绍
在安卓(Android)系统中,应用程序的内存资源属于紧缺资源。对于应用,尤其是工具类应用来说,内存占用情况更是衡量应用程序是否异常的重要指标之一。当应用程序的内存占用量过大时,将会导致系统卡慢,甚至导致应用程序的内存耗尽(Outofmemory,简称OOM)问题。为此,需要监测系统中各个进程的内存占用情况,并根据内存占用情况对内存资源进行管理。现有技术中,在Android系统中检测进程的内存占用情况时,通常是针对某一进程分析该进程在特定的一个时刻的内存占用情况,并根据该时刻的内存占用情况进行管理。在这种方式中,仅根据一个时刻的内存占用情况来监测进程的内存状态,无法连续获取一段时间内的内存变化情况,因而无法确定内存占用情况的动态变化规律,进而导致内存管理的效果不佳。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的内存管理方法及装置。依据本专利技术的一个方面,提供了一种内存管理方法,包括:获取并解析内存信息文件,以获得系统中的各个进程在多个时间点本文档来自技高网...
内存管理方法及装置

【技术保护点】
一种内存管理方法,包括:获取并解析内存信息文件,以获得系统中的各个进程在多个时间点所对应的进程内存映像;根据所述进程内存映像确定各个进程中的各个对象所占用的内存块的动态变化情况;根据所述动态变化情况判断各个对象所占用的内存块是否符合预设的回收条件,并在判断结果为是时,对符合所述回收条件的内存块进行回收。

【技术特征摘要】
1.一种内存管理方法,包括:获取并解析内存信息文件,以获得系统中的各个进程在多个时间点所对应的进程内存映像;根据所述进程内存映像确定各个进程中的各个对象所占用的内存块的动态变化情况;根据所述动态变化情况判断各个对象所占用的内存块是否符合预设的回收条件,并在判断结果为是时,对符合所述回收条件的内存块进行回收。2.根据权利要求1所述的方法,其中,所述根据所述动态变化情况判断各个对象所占用的内存块是否符合预设的回收条件具体包括:确定各个进程中包含的匿名对象,其中,所述匿名对象包括对象数据存储于堆内存中且对象名称未存储于栈内存中的对象;判断所述匿名对象所占用的内存块在预设时间内是否发生变化,当判断结果为否时,确定该匿名对象所占用的内存块符合所述回收条件。3.根据权利要求1或2所述的方法,其中,进一步包括:根据所述进程内存映像,将各个进程中的各个对象的内存位置记录在第一位图中;遍历各个进程所包含的全部对象,以获取各个对象之间的引用关系,将被引用的对象的内存位置记录在第二位图中;判断所述第一位图中的各个对象是否包含在所述第二位图中,对未包含在所述第二位图中的对象所占用的内存块进行回收。4.根据权利要求1或2所述的方法,其中,进一步包括:根据所述动态变化情况判断对象的实际占用内存块大小与预留内存块大小之间的比值的增长速度是否超过预设阈值,当判断结果为是时,针对该对象所占用的内存块发出报警信息。5.根据权利要求1所述的方法,其中,所述内存信息文件为安卓系统提供的虚拟文件,或者,所述内存信息文件为预先创建的系统内存检查文件。6....

【专利技术属性】
技术研发人员:孟齐源高祎玮
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1