【问题标题】:Android device RAM usage increases but not application memory until device gets hanged在设备挂起之前,Android 设备 RAM 使用量会增加,但应用程序内存不会增加
【发布时间】:2013-03-17 10:18:15
【问题描述】:

我有一个应用程序,它加载一个活动 A(由 ListFragment 组成),从 A 我加载活动 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 标志。

【问题讨论】:

    标签: android memory memory-leaks ram


    【解决方案1】:

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

    Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

    这样,如果 Activity 已经在堆栈中,它将切换到它而不是开始一个新的。

    【讨论】:

    • 我忘了提,但我已经使用了那个标志.. 没有创建多个活动实例
    猜你喜欢
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 2021-12-22
    • 2021-01-31
    • 2021-05-02
    • 1970-01-01
    • 2018-08-20
    • 2010-11-12
    相关资源
    最近更新 更多