0

我创建了一个 hello world 简单活动并开始。我查看 android profiler ,当我旋转屏幕时,在堆(android profiler 监视器)中总共显示了 2 个 MainActivity。为什么第一个活动没有解除分配?

4

1 回答 1

0

可能没有问题。在 Java 中内存不会立即释放。相反,当垃圾收集运行时,内存会被释放。如果没有从 GC 根对象到对象的引用,垃圾收集器将收集它。所以可能只是垃圾收集还没有运行。

另一种可能性是您有内存泄漏。在这种情况下,您有一些对象引用了尚未准备好超出范围的 Activity。常见原因是可观察的订阅、线程、静态变量和非静态内部类被传递给常驻的东西(如框架本身)。

于 2018-10-30T18:07:15.280 回答