如何在java中修复OutOfMemory错误?

时间:2016-07-12 00:33:56

标签: java android android-studio android-activity out-of-memory

我有8个不同的活动,可以通过随机点击按钮互相打开。单击大约15次打开新活动的按钮后,它会崩溃。我是否需要关闭活动或是否有其他解决方案?

3 个答案:

答案 0 :(得分:1)

正如Harsh Pandey所说,你可能想要研究使用片段而不是活动。另一种可能的方法是在您开始下一个活动后立即致电finish();。这将关闭之前的活动。但是,如果您打算使用后退按钮或某些内容返回此活动,则它将不存在。

答案 1 :(得分:1)

当您创建新活动并关闭它们时,GC将在需要时自动清理旧活动使用的内存。您收到内存不足错误,

  • 您的活动正在举行一个仍然存在的参考。这将阻止GC清理旧活动。

例如,

  • 查找未正确清除的动画。

解决这个问题的最佳方法是找到内存泄漏。

https://developer.android.com/studio/profile/investigate-ram.html

建议:

正如3kings所说,尝试在一项活动中完成。即使用碎片!!

答案 2 :(得分:0)

您可以通过在清单中添加它来请求更多堆大小:

android:largeHeap="true"

但是,根据您的评论,我的猜测是这种情况非常适合片段而不是活动。您可以使用多个可重用的片段在单个活动中完成所有这些操作。