我有一个图像非常密集的应用程序,我发现我在加载多个 Activity 时遇到了很多 OutOfMemory 问题。
Activity 都是位图的 GridView 或 ListView ,单击图像会将您带到包含另一组图像的另一个 Activity (有点像相册的相册的相册)。前 3 个 Activity 运行良好,但当继续向下导航时,我开始遇到一些严重的 OutOfMemory 错误。
在使用 DDMS 进行堆栈转储后,之前 Activity 的 GridView 和 Listview 似乎占用了所有内存。这是意料之中的,因为它们自己显示了很多位图,但我不确定 VM 如何释放堆栈中的 Activity ,以及即使您没有调用“finish()”它们是否会这样做他们。
当 Activity 进入后台时,Do Activity 会回收它们的 View ,然后在您导航回 Activity 时恢复它们,或者正在清除我的 gridviews 和 listviews 中的 ImageView ,这是我需要在 onPause() 和 activity 上手动处理的事情onResume() 何时离开生命周期函数中的 Activity ?
最佳答案
关于java - 在 Activity-Back-Stack 上回收 Activity View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12456319/