活动轮换释放

时间:2018-10-30 17:47:04

标签: android android-activity dealloc android-profiler

我创建了一个hello world简单活动,然后开始。我看着android profiler,当我旋转屏幕时,在堆(android profiler monitor)中总共显示了2个MainActivity。为什么第一个活动没有取消分配?

1 个答案:

答案 0 :(得分:0)

可能没有问题。在Java中,内存不会立即释放。相反,运行垃圾回收时内存会释放。如果没有从GC根对象到该对象的引用,则垃圾收集器将收集它。因此可能只是垃圾回收尚未运行。

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