【发布时间】:2016-06-23 19:11:51
【问题描述】:
在 Android 中,我正确地收到了 onTrimMemory 调用,并且我做出了适当的反应。当 UI 隐藏时,我会释放保存的 UI 元素并将内存使用量降低 50%。
我遇到的问题是 Android 系统在每次 onTrimMemory 调用后都没有运行垃圾收集器。我可以在 logcat 中看到这一点。所以我会得到一些 onTrimMemory(CRITICAL) 调用,然后最终我的后台进程将被终止。但是,如果我使用 Android Studio 手动发起 GC,应用程序将释放 50% 的内存回系统,大大增加了它的生存机会。
我可以添加一些 System.GC 调用,但我不知道 Android 如何/为什么会不断告诉我释放内存,但拒绝运行垃圾收集器。 (我仍然需要测试更多设备,因为我想知道这是否是特定于设备的问题。)
【问题讨论】:
标签: android memory-management garbage-collection