[发明专利]内存管理方法及装置在审
申请号: | 201510981811.9 | 申请日: | 2015-12-23 |
公开(公告)号: | CN106909458A | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 孟齐源;高祎玮 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙)11276 | 代理人: | 宋菲,刘兰兰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 | ||
1.一种内存管理方法,包括:
对应用程序的代码段进行分析,将其中用于执行内存相关操作的函数确定为目标函数;
向所述目标函数中注入用于管理内存状态的挂钩函数;
当所述目标函数运行至所述挂钩函数所在位置时,由所述挂钩函数根据所述目标函数对应进程的进程内存映像来确定内存占用情况,并根据所述内存占用情况进行内存管理。
2.根据权利要求1所述的方法,其中,所述目标函数对应进程的进程内存映像通过安卓系统提供的虚拟文件获取,或者,通过预先创建的系统内存检查文件获取。
3.根据权利要求1或2所述的方法,其中,所述根据所述内存占用情况进行内存管理的步骤具体包括:
确定所述目标函数对应进程中包含的匿名对象,其中,所述匿名对象包括对象数据存储于堆内存中且对象名称未存储于栈内存中的对象;
判断所述匿名对象所占用的内存块在预设时间内是否发生变化,当判断结果为否时,回收该匿名对象所占用的内存块。
4.根据权利要求1或2所述的方法,其中,所述根据所述内存占用情况进行内存管理的步骤具体包括:
当确定所述目标函数对应进程中的对象的实际占用内存块大小与预留内存块大小之间的比值超过预设阈值时,针对该对象所占用的内存块发出报警信息。
5.根据权利要求1所述的方法,其中,所述内存相关操作包括:内存的申请、内存的创建、以及内存的销毁。
6.一种内存管理装置,包括:
分析模块,适于对应用程序的代码段进行分析,将其中用于执行内存相关操作的函数确定为目标函数;
注入模块,适于向所述目标函数中注入用于管理内存状态的挂钩函数;
管理模块,适于当所述目标函数运行至所述挂钩函数所在位置时,控制所述挂钩函数根据所述目标函数对应进程的进程内存映像来确定内存占用情况,并根据所述内存占用情况进行内存管理。
7.根据权利要求6所述的装置,其中,所述目标函数对应进程的进程内存映像通过安卓系统提供的虚拟文件获取,或者,通过预先创建的系统内存检查文件获取。
8.根据权利要求6或7所述的装置,其中,所述管理模块具体用于:
确定所述目标函数对应进程中包含的匿名对象,其中,所述匿名对象包括对象数据存储于堆内存中且对象名称未存储于栈内存中的对象;
判断所述匿名对象所占用的内存块在预设时间内是否发生变化,当判断结果为否时,回收该匿名对象所占用的内存块。
9.根据权利要求6或7所述的装置,其中,进一步包括:
报警模块,适于在确定所述目标函数对应进程中的对象的实际占用内存块大小与预留内存块大小之间的比值超过预设阈值时,针对该对象所占用的内存块发出报警信息。
10.根据权利要求6所述的装置,其中,所述内存相关操作包括:内存的申请、内存的创建、以及内存的销毁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510981811.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:玩具(水磨小屋)
- 下一篇:玩具(葡萄牙海边古堡)