我试图了解如何识别和解决内存泄漏问题。 我知道如何处理一般的内存泄漏问题。泄露的活动,内部类等。它们通常很容易识别。通过转储堆并查找引用。
现在我被困在一些非常简单的事情上。一些非常小的对象卡在堆中,我只是在堆资源管理器中找不到对它的任何引用。见下图。
正如您所看到的,有一个MatchOddsAdapterStickyHeader实例和一个包含这些实例的数组。 我的问题是为什么这些对象仍在堆中。 MatchOddsAdapterStickyHeader []实例仅包含对单个MatchOddsAdapterStickyHeader实例的引用。并且每个MatchOddsAdapterStickyHeader只有一个字符串。我只是不明白为什么GC没有清理这个对象。两个对象都没有引用任何活动对象。是的,我强迫GC。没有区别。
我知道它只有几个字节。并且它在我的应用程序中并没有真正给出问题,但如果可能的话,我仍然想要一个100%无内存泄漏的应用程序。