代码之家  ›  专栏  ›  技术社区  ›  Nerdy Bunz

如何使用Android Profiler在Android中查找不需要的引用

  •  0
  • Nerdy Bunz  · 技术社区  · 7 年前

    我正努力在Android中寻找内存泄漏。

    我发现了Android分析器,并学习了如何执行堆转储,以及如何确定内存中给定对象的实例是否太多。

    我读过一篇关于 为什么? 一个不需要的对象仍然在周围徘徊,这是为了突出显示它,“看看哪些对象仍然保留对它的引用,并追溯到原来的原因。”

    所以。。。在这个截图中你可以看到不希望的情况:我有三个主要活动的实例。。。而这三个人在“深度”栏都有一个数字,表明他们确实是在泄密。

    如果所讨论的对象是我自己创建的一个类,那么这个过程将更加直接,但是由于我们在这里处理的是一个实际的活动,当我突出显示这三个对象中的任何一个时,会有大量对象引用它(列表远远超出屏幕截图)。

    当然大多数都是正常/良性的参考-- 我该如何判断哪些值得调查?

    线索是什么?是这0美元吗?还是保留列中的大量数字?与问题对象匹配的深度号?我只是在猜测。

    当然,我也不必在整个名单上自言自语,“不。。。不可能是那个。。。这是Android框架X、Y和Z的正常部分

    enter image description here

    0 回复  |  直到 7 年前