Java - 如何处理OutOfMemoryError?

时间:2011-12-09 21:51:23

标签: java exception error-handling out-of-memory

我正在创建一个应用程序,用户很可能会得到一个OutOfMemoryError;现在我想找到一种方法,可以通知用户程序遇到OutOfMemoryError,这样他/她就可以采取相应的行动。 (例如,使用更大的堆空间等重新启动程序)

如何“捕获”错误,以便我可以通知用户?

1 个答案:

答案 0 :(得分:5)

良好的用户体验的第一课是不要求用户做更多的工作而不是必要的。

这意味着您“通知用户以便他们可以重新启动”的想法很糟糕,应该避免使用。

相反,请评估您的应用程序并确定为什么内存不足。是否有数据段可以转储到存储文件中而不用于释放内存?您是否可以通过更好的设计模式,数据表示或算法来纠正某种形式的效率?

不要对这个问题做出反应,要有预防作用。如果OutOfMemoryError不可避免,应用程序应该有一种在崩溃前保存状态的方法。

阅读一些文章以获取更多想法:http://www.javaperformancetuning.com/news/qotm036.shtml