我有一个非常简单的 GUI 应用程序,可以为系统运行 HIL 测试。我从组合框中选择一个测试,然后单击运行。这将启动测试并运行 27 分钟。在此期间,CPU 正在捕获数据并将数据存储在 String Builder 中。测试完成后,字符串生成器将捕获的数据写入文件。我运行了 3 次相同的测试来检查内存泄漏。请看附图。
快照#1:GUI 开始快照#19:第一次尝试结束快照#33:第二次尝试结束快照#38:第三次尝试结束
如果我们比较 33 和 38,我们可以看到对象和堆大小是相同的,这让我相信没有内存泄漏。
但是如果我们比较 19 和 33/38,我们可以看到对象数量增加了 1,堆大小增加了 0.1KB,这让我相信存在小的内存泄漏。
如果我们将 1 与其他比较,我们会看到对象的数量和堆大小相对而言增加了很多。
所以我的问题是,这里有内存泄漏吗?我如何得出一个可靠的结论?