内存泄漏检测方法、装置和电子设备制造方法及图纸

技术编号:37174680 阅读:20 留言:0更新日期:2023-04-20 22:44
本发明专利技术提供了一种内存泄漏检测方法、装置和电子设备,从目标应用内存中的对象实例中确定目标应用的视图控制器;该视图控制器包括根视图控制器和至少一个子视图控制器;遍历与根视图控制器具有树形连接关系的目标子视图控制器;如果至少一个子视图控制器中存在除目标子视图控制器以外的其它子视图控制器,确定目标应用内存泄漏。该方式中,通过遍历的方式确定子视图控制器,以及目标应用中与根视图控制器具有树形连接关系的目标子视图控制器,进而确定是否有与根视图控制器未具有树形连接关系的子视图控制器,从而判断内存是否泄漏,实现过程快且内存消耗小,提高了系统运行的稳定性,对原有业务无入侵,提高了检测效率。提高了检测效率。提高了检测效率。

【技术实现步骤摘要】
内存泄漏检测方法、装置和电子设备


[0001]本专利技术涉及计算机
,尤其是涉及一种内存泄漏检测方法、装置和电子设备。

技术介绍

[0002]在一些应用场景下,程序的内存使用要求会比较严格,客户端持续的接收和处理数据,如果发生内存泄漏,很容易导致程序占用过多内存被系统关闭。相关技术中,针对页面的内存泄漏检测方法,通常是通过hook的方式实现的,通过hook页面的生命周期追踪页面的泄漏情况。但是,针对复杂的系统,可能会影响运行稳定性,甚至会造成系统崩溃。另外,还会对原有业务方法有入侵,可能会导致原有方法不可用的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种内存泄漏检测方法、装置和电子设备,以提高系统运行的稳定性,且对原有业务无入侵,同时提高检测效率。
[0004]第一方面,本专利技术实施例提供了一种内存泄漏检测方法,该方法包括:获取目标应用内存中的对象实例,从对象实例中确定目标应用的视图控制器;其中,视图控制器包括:根视图控制器和至少一个子视图控制器;至少部分子视图控制器与根视图控制器具有树本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内存泄漏检测方法,其特征在于,所述方法包括:获取目标应用内存中的对象实例,从所述对象实例中确定目标应用的视图控制器;其中,所述视图控制器包括:根视图控制器和至少一个子视图控制器;至少部分子视图控制器与所述根视图控制器具有树形连接关系;遍历与所述根视图控制器具有所述树形连接关系的子视图控制器,得到目标子视图控制器;如果所述至少一个子视图控制器中存在除所述目标子视图控制器以外的其它子视图控制器,确定所述目标应用内存泄漏。2.根据权利要求1所述的方法,其特征在于,获取目标应用内存中的对象实例,从所述对象实例中确定目标应用的视图控制器的步骤,包括:通过异步线程,遍历所述目标应用内存得到所述目标应用的对象实例;根据所述对象实例的指定指针,确定所述指定指针指示的对象类型;如果所述对象实例的指定指针指示的对象类型为视图控制器或子视图控制器,确定所述对象实例为所述目标应用的视图控制器。3.根据权利要求1所述的方法,其特征在于,遍历与所述根视图控制器具有所述树形连接关系的子视图控制器,得到目标子视图控制器的步骤,包括:确定所述视图控制器中的根视图控制器,从所述根视图控制器开始,遍历与所述根视图控制器具有所述树形连接关系的子视图控制器,得到所述目标子视图控制器;其中,所述目标子视图控制器包括:所述根视图控制器持有的子视图控制器、所述根视图控制器模态展示的子视图控制器、以及所述根视图控制器导航压栈显示的子视图控制器。4.根据权利要求1所述的方法,其特征在于,所述目标应用的页面结构为基于视图控制器管理的树形结构;所述树形结构中包括所述根视图控制器和所述目标子视图控制器。5.根据权利要求1所述的方法,其特征在于,如果所述至少一个子视图控制器中存在除所述目标子视图控制器以外的其它子视图控制器,确定所述目标应用内存泄漏的步骤之后,所述方法还包括:如果所述其它子视图控制器中未设置有指定标识,或者所述...

【专利技术属性】
技术研发人员:毛荣森
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1