在为关闭活动调用finish()时,活动中的对象不会从Android
中的内存中释放案例: 活动A打开活动B,活动B的结束(),活动B关闭但是内存仍然被占用,再次从活动A调用活动B,Android分配更多内存,最终导致内存不足错误。
解决方法: 在活动B中的finish()之后使用System.exit(0)释放内存,但是在返回上一个活动A时它显示一个空白的白色屏幕。我觉得这不是理想的方式。
感谢有关解决此问题的帮助,以便在活动的finish()上释放内存。
答案 0 :(得分:1)
在活动上调用finish()时,会执行onDestroy()方法。因此,重写该方法并将所有强大的ref变量设置为null,如位图,连接等。 并记住onDestroy()不是析构函数。所以你必须做自己的事情以避免OOM错误。
还要看一下透支调试器,以避免像素过度绘制。
希望这会对你有所帮助。