在设备被挂起之前,Android设备RAM使用量会增加但不会增加应用程序内存

时间:2013-03-17 10:18:16

标签: android memory memory-leaks ram

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

修改 我在开始这两项活动时都使用Intent.FLAG_ACTIVITY_REORDER_TO_FRONT标志。

1 个答案:

答案 0 :(得分:3)

当你切换活动时,你应该在意图上设置标志:

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

这样,如果活动已经在堆栈上,它将切换到它而不是开始新活动。