在某些图像上,使用 JAI 时出现 OutOfMemory 异常。似乎 JAI 正在尝试分配一个巨大的字节 [],可能是由于图像中的一些错误。有什么解决方法吗?如果没有,有没有办法事先检测到错误?这是一个例子:
URL bad = new URL("http://static4.businessinsider.com/image/505c5461ecad047a3500002b-772-598/share-of-income-to-labor.png");
RenderedOp op = JAI.create("stream", SeekableStream.wrapInputStream(url, true));
op.createInstance();
引起:java.lang.OutOfMemoryError:com.sun.media.jai.codecimpl.PNGImage.(PNGImageDecoder.java) 处 com.sun.media.jai.codecimpl.PNGImage.readChunk(PNGImageDecoder.java:554) 处的 Java 堆空间:489) 在 com.sun.media.jai.opimage.CodecRIFUtil.create(CodecRIFUtil.java:120) 在 com.sun.com.sun.media.jai.codecimpl.PNGImageDecoder.decodeAsRenderedImage(PNGImageDecoder.java:81)。 media.jai.opimage.PNGRIF.create(PNGRIF.java:56) ... 20 更多