【技术实现步骤摘要】
内存引用关系的获取方法、装置和电子设备
[0001]本专利技术涉及数据处理
,尤其是涉及一种内存引用关系的获取方法、装置和电子设备。
技术介绍
[0002]对于内存有限的终端设备,会给每个应用程序分配最大可用内存。当某个应用程序的内存占用量接近或超过该最大可用内存,该应用程序会被强行终止运行,该现象也称为OOM(Out of Memory,内存溢出)事件。为了尽量避免OOM事件的发生,通常需要查找到应用程序中占用内存较多的业务代码,并对该业务代码进行优化。
[0003]相关技术中,需要将应用程序挂起,然后采集该应用程序的内存中内存节点之间的引用关系,通过该引用关系分析占用内存较多的业务代码,然后对该业务代码进行优化。具体需要针对每个内存节点,通过该内存节点中记录的引用地址查找该引用地址所属的内存节点,当内存节点数量较多,或者内存节点之间的引用关系较为复杂时,采集引用关系的过程耗时很长,应用程序被挂起的时间较长,导致应用程序卡顿明显,降低了用户的使用体验。
技术实现思路
[0004]有鉴于此,本专 ...
【技术保护点】
【技术特征摘要】
1.一种内存引用关系的获取方法,其特征在于,所述方法包括:响应针对应用程序的内存引用关系获取指令,确定所述应用程序的内存空间;其中,所述内存空间中包括多个内存节点;所述内存节点用于:存储所述应用程序的部分应用数据;将所述内存空间中的内存节点划分为至少一个内存段,并记录所述内存段的地址信息;其中,同一内存段中内存节点的节点地址连续;从所述多个内存节点中确定第一内存节点,从所述第一内存节点中获取待查找地址,基于所述内存段的地址信息,确定所述待查找地址是否属于所述内存段;如果所述待查找地址属于所述内存段,记录所述第一内存节点的节点标识和所述待查找地址;其中,所述待查找地址用于:获取所述待查找地址所属的第二内存节点,得到所述第二内存节点与所述第一内存节点的引用关系。2.根据权利要求1所述的方法,其特征在于,响应针对应用程序的内存引用关系获取指令,确定所述应用程序的内存空间的步骤之前,所述方法还包括:监控所述应用程序的内存空间的使用状态;如果所述使用状态满足预设条件,生成针对所述应用程序的内存引用关系获取指令。3.根据权利要求2所述的方法,其特征在于,所述使用状态包括:所述内存空间的使用量;所述如果所述使用状态满足预设条件,生成针对所述应用程序的内存引用关系获取指令的步骤,包括:如果所述内存空间的使用量大于预设的使用量阈值,生成针对所述应用程序的内存引用关系获取指令;其中,所述使用量阈值预先基于所述应用程序的最大可用内存量确定。4.根据权利要求1所述的方法,其特征在于,将所述内存空间中的内存节点划分为至少一个内存段,并记录所述内存段的地址信息的步骤,包括:遍历所述内存空间中的内存节点,将地址连续的内存节点划分为一个内存段,并记录所述内存段的地址范围;所述地址范围包括:所述内存段的起始地址和结束地址。5.根据权利要求1所述的方法,其特征在于,从所述多个内存节点中确定第一内存节点的步骤,包括:遍历所述内存空间中的内存节点,逐一将每个所述内存节点确定为第一内存节点。6.根据权利要求1所述的方法,其特征在于,从所述第一内存节点中获取待查找地址的步骤,包括:获取所述第一内存节点的起始地址;将所述第一内存节点的起始地址作为目标地址,获取以所述目标地址为起点的指定长度的地址段;将所述地址段中记录的数据作为待查找地址;将所述地址段的终点地址更新为目标地址,继续执行获取以所述目标地址为起点的指定长度的地址段;将所述地址段中记录的数据作为待查找地址的步骤,直至到达所述第一内存节点的结束地址,得到所述第一内存节点的至少一个所述待查找地址。7.根据权利要求1所述的方法,其特征在于,所述内存段的地址信息包括:所述内存段的地址范围;所述基于所述内存段的地址信息,确定所述待查找地址是否属于所述内存段的步骤,包括:判断所述待查找地址是否位于任一所述内存段的地址范围之内;如果所述待查找地址位于所述至少一个内存段中的第一内存段的地址范围之内,确定
所述待查找地址属于所述第一内存段。8.根据权利要求7所述的方法,其特征在于,所述内存段的地址范围包括:所述内存段的起始地址和结束地址;所述判断所述待查找地址是否位于任一所述内存段的地址范围之内的步骤,包括:按照预设顺序遍历所述至少一个内存段,获取当前内存段的起始地址和结束地址;如果所述待查找地址位于所述当前内存段的起始地址和结束地址之间,确定所述待查找地址位于所述当前内存段的地址范围,并确定所述待查找地址位于任一所述内存段的地址范围之内。9.根据权利要求1所述的方法,其特征在于,所述节点标识包括:所述第一内存节点的起始地址;所述如果所述待查找地址属于所述内存段,记...
【专利技术属性】
技术研发人员:何伟杰,
申请(专利权)人:广州博冠信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。