我有一个非常具有图像密集度的应用程序,我发现在加载多个活动时我遇到了很多OutOfMemory问题。
活动是位图的所有网格视图或列表视图,单击图像会将您带到另一个包含另一组图像的活动(有点像专辑专辑的专辑相册)。前3个活动运行正常,但当进一步向下导航时,我开始遇到一些严重的OutOfMemory错误。
使用DDMS进行堆栈转储后,似乎以前活动的GridViews和Listview占用了所有内存。这是预期的,因为它们本身显示了很多位图,但我不确定VM如何释放堆栈中的活动,如果他们这样做,即使你没有调用“finish()”它们。
Do Activities会在他们进入后台时重新审视他们的视图,然后在您导航回活动时恢复他们的视图,或清除我的网格视图和列表视图中的图像视图我需要手动处理活动onPause()和导航离开生命周期函数中的活动时是onResume()吗?