一种内存泄漏检测方法及电子设备与流程

文档序号:36507508发布日期:2023-12-28 21:03阅读:42来源:国知局
一种内存泄漏检测方法及电子设备与流程

本申请涉及通信,尤其涉及一种内存泄漏检测方法、电子设备及服务器。


背景技术:

1、内存泄漏是指应用程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。因此在安卓应用程序的开发过程中,需要对应用程序进行检测,从而确定应用程序是否存在内存泄漏。

2、内存泄漏的检测方案通常为以下两种:检查设备内存占用大小,如果设备内存占用大小超过一定限额或者内存占用大小持续变大,则确定存在内存泄漏;如果监测类的实例个数超过个数阈值,则确定存在内存泄漏。

3、其中第一种内存泄漏检测方案比较粗糙只有在发生较严重的内存泄漏才能够检测出。如果采用第一种内存泄漏检测方案会出现发生了内存泄漏但是无法检测到的情况。第二种内存泄漏检测方案没有考虑类之间的相互影响,检测准确度较低。因此亟待一种提升内存泄漏检测准确度的检测方法。


技术实现思路

1、本申请提供了一种内存泄漏检测方法及电子设备,用于解决目前的内存泄漏检测方案会出现发生了内存泄漏但是无法检测到,或者没有考虑类之间的相互影响,检测准确度较低的问题。

2、第一方面,本实施例提供一种电子设备,包括:

3、控制器,用于执行:

4、获取待检测子类在待检测场景中的子类实例个数和待检测父类在所述待检测场景中的父类实例个数,其中所述待检测父类与所述待检测子类存在对应关系,在所述待检测场景中存在至少一种所述待检测父类;

5、根据所述待检测子类与所述待检测父类之间的对应关系和所述父类实例个数计算所述待检测子类的子类实例阈值;

6、如果所述子类实例个数超过所述子类实例阈值,则确定在所述待检测场景中检测到内存泄漏;

7、如果所述子类实例个数未超过所述子类实例阈值,则确定所述待检测场景中未检测到内存泄漏。

8、第二方面,本实施例提供一种内存泄漏检测方法,所述方法包括:

9、获取待检测子类在待检测场景中的子类实例个数和待检测父类在所述待检测场景中的父类实例个数,其中所述待检测父类与所述待检测子类存在对应关系,在所述待检测场景中存在至少一种所述待检测父类;

10、根据所述待检测子类与所述待检测父类之间的对应关系和所述父类实例个数计算所述待检测子类的子类实例阈值;

11、如果所述子类实例个数超过所述子类实例阈值,则确定在所述待检测场景中检测到内存泄漏;

12、如果所述子类实例个数未超过所述子类实例阈值,则确定所述待检测场景中未检测到内存泄漏。

13、本申请实施例提供的内存泄漏检测方法及电子设备,控制器获取检测子类在待检测场景中的子类实例个数和待检测父类在待检测场景中的父类实例个数。待检测父类与待检测子类存在对应关系。根据待检测子类与待检测父类之间的对应关系和父类实例个数计算待检测子类的子类实例阈值。如果子类实例个数超过子类实例阈值,则确定在待检测场景中检测到内存泄漏。如果子类实例个数未超过子类实例阈值,则确定待检测场景中未检测到内存泄漏。这样在检测应用程序中的内存泄漏时,根据待检测类与相关类之间的关系判断类的实例个数是否存在异常进而确定是否存在内存泄漏,从而提高内存泄漏检测的准确度。



技术特征:

1.一种电子设备,其特征在于,包括:

2.根据权利要求1所述的电子设备,其特征在于,在所述待检测场景中存在一种待检测父类,所述待检测父类包含所述待检测子类,所述控制器,具体用于执行:

3.根据权利要求1所述的电子设备,其特征在于,在所述待检测场景中存在两种待检测父类,其中两种待检测父类分别为第一待检测父类和第二待检测父类,所述第一待检测父类和所述第二待检测父类均包含所述待检测子类,所述控制器,具体用于执行:

4.根据权利要求1所述的电子设备,其特征在于,所述对应关系为一对一对应关系,所述控制器,还用于执行:

5.根据权利要求1所述的电子设备,其特征在于,确定所述待检测场景所属的目标应用程序存在内存泄漏之后,所述控制器,还用于执行:

6.根据权利要求1所述的电子设备,其特征在于,所述控制器,还用于执行:

7.根据权利要求1所述的电子设备,其特征在于,在获取待检测子类在待检测场景中的子类实例个数和待检测父类在所述待检测场景中的父类实例个数之前,所述控制器,还用于执行:

8.根据权利要求1所述的电子设备,其特征在于,所述电子设备还包括显示器,所述控制器,还用于执行:

9.一种内存泄漏检测方法,其特征在于,所述方法包括:

10.根据权利要求9所述的内存泄漏检测方法,确定所述待检测场景所属的目标应用程序存在内存泄漏之后,所述方法还包括:


技术总结
本申请提供一种内存泄漏检测方法及电子设备,控制器获取检测子类在待检测场景中的子类实例个数和待检测父类在待检测场景中的父类实例个数。待检测父类与待检测子类存在对应关系。根据待检测子类与待检测父类之间的对应关系和父类实例个数计算待检测子类的子类实例阈值。如果子类实例个数超过子类实例阈值,则确定在待检测场景中检测到内存泄漏。如果子类实例个数未超过子类实例阈值,则确定待检测场景中未检测到内存泄漏。这样在检测应用程序中的内存泄漏时,根据待检测类与相关类之间的关系判断类的实例个数是否存在异常进而确定是否存在内存泄漏,从而提高内存泄漏检测的准确度。

技术研发人员:邹章锋
受保护的技术使用者:聚好看科技股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1