我做了一个简单的应用程序来测试 Android 的内存。 它有两个 Activity,A 和 B。 A 是一个简单的 Activity,带有一个启动 B 的按钮。 B 包含一个相当大的图像(jpg,mdpi 中的 1024x768 像素)
当我使用 DDMS 监视此进程时,堆从 A 移动到 B 时按预期上升。
当我在 B 上按下(硬件或软件使用 super.onBackPressed()
)按钮并再次进入 A 时,堆不会再次收缩,即使在调用垃圾回收之后也是如此。这是预期的吗? B 占用的内存会在进程的生命周期内释放吗?
最佳答案
onBackPressed() 只是从 BackStack 弹出你的 B Activity 然后你的 Activity 对你不再可见(调用 onStop()),但它的进程在 Os 需要它的内存之前没有被杀死
关于Android,后退按钮释放 Activity 内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558144/