代码之家  ›  专栏  ›  技术社区  ›  aolphn

我想知道为什么FinalizerReference在我的应用程序中消耗这么多内存

  •  2
  • aolphn  · 技术社区  · 7 年前

    heap data

    我的应用程序不能在android 4.x上友好运行,所以我只是分析了我的应用程序的堆数据,我发现了这一点java.lang.FinalizerReference保留了这么多记忆。可以有人能解释吗?任何想法都会很感激。

    0 回复  |  直到 7 年前
        1
  •  1
  •   HendrikFrans    6 年前

    不是,真的。

    我也遇到了这个问题,我创造了 a separate question

    tldr:分析时将FinalizerReference与任何其他类一样处理(就像内存分析器一样),会导致在计算保留大小时重复计算同一内存。因此,目前您可以(几乎总是)认为内存探查器报告的FinalizerReference类的保留大小没有意义。

    作为 Holger unconvinced? read more )

    但是那些引用确实很重要,尤其是那些在被垃圾回收之前仅仅等待finalize()的引用。内存分析器 正如霍尔格所设想的那样,把它们展示出来,因为它们的大量出现将表明一个迫在眉睫的问题。

    我认为这是androidstudio的内存分析器中的一个bug,并且已经提交了 this issue

    推荐文章