gpt4 book ai didi

android - 一般 Android 内存泄漏,特别是谷歌分析跟踪器

转载 作者:行者123 更新时间:2023-11-30 04:46:38 26 4
gpt4 key购买 nike

我有几个简单的问题。它们都处理 1 个一般主题,一个策略可能会处理所有问题,所以我希望可以将它们放在同一个主题下。

我很难找到有关垃圾收集的可靠信息,因此非常感谢任何帮助,我想我可能不完全理解我在 MAT 中阅读的内容。就算你能回答1个问题我也会 super 开心

  1. 在 Android 中查找内存泄漏的最佳策略是什么?尽我所能告诉它是获取 Eclipse MAT,选择一个没有被垃圾收集的对象(使用支配树,或者任何你最容易找到它的东西),并显示到 gc 的最短合并路径该对象并找到您可以控制的对该对象的最远传入引用,并在销毁时杀死该引用。这可以杀死引用,但有时对象仍然没有被垃圾收集

  2. 在销毁时将所有处理程序/可运行对象/线程/监听器设为 null 是一种好习惯吗?如果我不这样做,其中一些似乎会无限期地存在,有时即使我这样做了。

  3. 确保线程获得垃圾回收的最佳方法是什么,即使引用为 null(它们有时似乎仍然存在)?

  4. 为什么哦,为什么我不能让 google analytics tracker 收集垃圾,即使它根本没有来 self 的应用程序的引用。它似乎保持对我的 Activity 的引用,所以我认为这可能与我的 GC 问题有关。

谢谢!

最佳答案

  1. 最好的策略是从一开始就充分理解您正在做的事情的含义,从而从一开始就避免内存泄漏。参见,例如,handling memory leaks in Java .否则,这似乎是与代码检查一起使用的好方法。您是否强制 GC 证明该对象仍未被收集?

  2. 一般来说,不会。 This article有一个很好的解释为什么。

  3. 没有对它的任何引用?遵循上述标准编码实践。

  4. 不知道。但是你不会在整个应用程序中使用它,所以它并不重要吗?最终 Android 将终止您的整个进程并回收内存。

关于android - 一般 Android 内存泄漏,特别是谷歌分析跟踪器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com