我有一个应用程序,它从 A 加载活动 A(由 ListFragment 组成),我加载活动 B。如果我继续在这两个活动之间切换,我会看到设备 RAM 每次切换时都会增加 10 mb。在三星设备上,我们可以使用任务管理器“清除内存”,这基本上清除了 RAM,但即使我这样做,内存也不会被清除。即使我强制停止应用程序并再次清除内存,它也不会下去..最后在这两个活动之间切换后,一旦RAM已满,手机就会变慢并挂起,我必须重新启动设备。有趣的是,当使用“dumpsys meminfo”检查时,应用程序的内存不会超过 14-15 mb。我的应用程序没有 OOM。这种行为在三星 Galaxy Tab 2 4.0、galaxy grand、ace duos 上观察到。它没有在 Nexus 7 或 Galaxy Nexus 等 Nexus 设备上观察到。为什么RAM一直在增加,而应用程序内存却没有?这是因为任何 BITMAP 泄漏吗?我尝试使用 MAT,但我刚刚开始使用它,所以可能需要一些时间来弄清楚如何识别泄漏。有什么猜测吗?
编辑 我在启动两个活动时使用 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 标志。