2011-05-18 54 views
-4

我正在为图像处理创建一个Java应用程序,经过一段时间对此程序的处理后,我得到了内存不足的异常,因为我认为Image对象占用了大量内存空间,所以我可以将图像保存为硬盘文件并在需要时读取它们,但是如果我使用内存与对象,那可能需要几毫秒和Nano-seconds。我能做些什么来解决这个问题?用于Java应用程序的内存不足

+0

请稍等代码 – 2011-05-18 10:03:24

+0

代码太大,但是想法是从文件中读取图像并从中制作对象,然后允许用户对它们进行一些图像处理 – ama 2011-05-18 10:07:06

+2

您是否需要在RAM中加载所有图像同时 ?您总是可以使用-Xmx标志微调分配给程序的内存。但是如果将所有图像保存在内存中,最终会出现内存问题 – Jad 2011-05-18 10:07:36

回答

1

首先,使用内存分析器(例如YourKit)来确定消耗内存的确切内容(例如,可能是由于意外保留了一些不必要的引用)。一旦你了解你的程序如何使用内存,你可以制定一个攻击计划。

1

也许你有没有处理你没有使用的图像的问题。