The embodiment of the present invention discloses a memory management method, device, terminal and medium, in which the method includes: acquiring memory usage information of the target process corresponding to the target application program, the memory usage information includes memory occupancy information of at least one running module of the target application program, and predicting the target application program according to the memory usage information of the target process. Whether there is a risk of insufficient memory in the sequence; if there is such a risk, the reserved emergency memory of the target application is activated and the occupied memory of at least one of the running modules of the target application is recovered. The embodiment of the invention can effectively manage the memory of the target application program, avoid the occurrence of abnormal phenomena such as crash exit caused by the risk of insufficient memory of the target application program, and ensure the normal operation of the target application program.
【技术实现步骤摘要】
内存管理方法、装置、终端及存储介质
本专利技术涉及互联网
,具体涉及计算机
,尤其涉及一种内存管理方法、一种内存管理装置、一种终端及一种计算机存储介质。
技术介绍
内存是终端中重要的部件之一,它是与终端的CPU进行沟通的桥梁,终端中的所有应用程序都是在内存中进行的,因此内存性能对终端的影响非常大。然而,终端的内存容量是有限的,为了保证终端操作系统的正常运转,终端内的各应用程序被允许使用的内存量是有一定限制的。以浏览器应用程序为例:在浏览器应用程序被允许使用的内存量范围内,操作系统会响应浏览器应用程序中的各运行模块的申请为其分配内存以支持浏览器应用程序的运行;但如果浏览器应用程序中的各运行模块使用了过多内存,例如:由于申请过多内存导致内存过度分配,或者由于出现内存泄漏导致内存使用过度、或由于资源过度加载导致内存使用过多等等,这些均会导致浏览器应用程序出现内存不足的情况,通常会触发浏览器应用程序产生崩溃退出的现象。由此可见,要避免应用程序由于内存不足而影响运行的一个有效手段在于实施有效的内存管理,而如何实施有效的内存管理则是一个值得思考及研究的课题。
技术实现思路
本专利技术实施例提供了一种内存管理方法、装置、终端及终端存储介质,能够对目标应用程序进行有效地内存管理,避免目标应用程序因内存不足的风险而导致崩溃退出等异常现象的产生,保证目标应用程序的正常运行。一方面,本专利技术实施例提供了一种内存管理方法,所述内存管理方法包括:获取目标应用程序对应的目标进程的内存使用信息,所述内存使用信息包括所述目标应用程序的至少一个运行模块的内存占用信息;根据所述目标 ...
【技术保护点】
1.一种内存管理方法,其特征在于,包括:获取目标应用程序对应的目标进程的内存使用信息,所述内存使用信息包括所述目标应用程序的至少一个运行模块的内存占用信息;根据所述目标进程的内存使用信息预测所述目标应用程序是否存在内存不足的风险;若存在所述风险,则激活所述目标应用程序的预留应急内存,并回收所述目标应用程序的至少一个运行模块的已占用内存。
【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:获取目标应用程序对应的目标进程的内存使用信息,所述内存使用信息包括所述目标应用程序的至少一个运行模块的内存占用信息;根据所述目标进程的内存使用信息预测所述目标应用程序是否存在内存不足的风险;若存在所述风险,则激活所述目标应用程序的预留应急内存,并回收所述目标应用程序的至少一个运行模块的已占用内存。2.如权利要求1所述的方法,其特征在于,所述获取目标应用程序对应的目标进程的内存使用信息,包括:检测所述目标应用程序中的指定模块是否被调用;若所述指定模块被调用,则识别所述指定模块的调用场景,所述调用场景包括同进程调用场景或跨进程调用场景,所述同进程调用场景是指由所述目标应用程序中除所述指定模块之外的其他模块调用所述指定模块的场景;所述跨进程调用场景是指所述目标应用程序之外的其他应用程序调用所述指定模块的场景;获取所述同进程调用场景下所述目标进程的第一内存使用信息,或者,获取所述跨进程调用场景下所述目标进程的第二内存使用信息;其中,所述第一内存使用信息包括:所述指定模块的内存使用信息及所述其他模块的内存使用信息;所述第二内存使用信息包括:所述指定模块的内存使用信息。3.如权利要求2所述的方法,其特征在于,所述若所述指定模块被调用,则识别所述指定模块的调用场景,包括:获取针对所述目标应用程序中的所述指定模块的调用指令,所述调用指令携带场景配置信息;根据所述场景配置信息确定所述指定模块的调用场景。4.如权利要求2所述的方法,其特征在于,所述指定模块包括至少一个子模块;所述目标应用程序设有内存信息捕捉函数,所述内存信息捕捉函数用于记录所述至少一个子模块的内存使用信息;所述获取所述同进程调用场景下所述目标进程的第一内存使用信息,包括:根据所述内存信息捕捉函数记录的所述至少一个子模块的内存使用信息确定所述指定模块的内存使用信息;获取所述其他模块的函数调用栈,并根据所述其他模块的函数调用栈确定所述其他模块的内存使用信息。5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:检测是否接收到预测内存不足的触发条件;若接收到所述触发条件,则执行根据所述目标进程的内存使用信息预测所述目标应用程序是否存在内存不足的风险的步骤;其中,所述触发条件包括:操作系统的当前时间与上一次预测内存不足的预测时间之间的间隔等于预设时间间隔,或者所述目标应用程序存在内存分配失败事件。6.如权利要求1-4任一项所述的方法,其特征在于,所述根据所述目标进程的内存使用信息预测所述目标应用程序是否存在内存不足的风险,包括:获取所述目标应用程序被允许使用的最大内存量,并根据所述目标进程的内存使用信息确定所述目标应用程序的已使用内存量;若所述已使用内存量和所述最大内存量之间的比值大于预设比值,则确定所述目标应用程序存在内存不足的风险。7.如权...
【专利技术属性】
技术研发人员:应玉龙,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。