我保存图片的函数如下:
  public void saveAsJPEG(File file) {
       this.repaint();
     BufferedImage bufferedimage = new BufferedImage(this.getWidth(), this.getHeight(),BufferedImage.TYPE_INT_RGB);
     Graphics2D graphics2d = bufferedimage.createGraphics();
     paintComponent(graphics2d);
     try {
       FileOutputStream fileoutputstream = new FileOutputStream(file);
       JPEGImageEncoder jpegimageencoder = JPEGCodec.createJPEGEncoder(
           fileoutputstream);
       com.sun.image.codec.jpeg.JPEGEncodeParam jpegencodeparam =
           jpegimageencoder.getDefaultJPEGEncodeParam(bufferedimage);
       jpegimageencoder.encode(bufferedimage);
       fileoutputstream.close();
     }
     catch (IOException ioexception) {
         ioexception.printStackTrace();
     }
  }
保存小图片没有问题,但大图像时就出现内存不足,望高手指教!谢谢!

解决方案 »

  1.   

    请问如何更改jvm内存大小(用代码)?
      

  2.   

    >>请问如何更改jvm内存大小(用代码)?
    -Xms128M -Xmx512M
      

  3.   

    在执行java命令的时候设置参数,不是在代码中。
    如:java -Xms128M -Xmx512M ...
      

  4.   

    分片保存,记得以前有位哥们要保存一个好几十兆的文档,我告诉他可以通过SQL语句分片保存,它好像顺利解决了。
        改内存当然可以,但是需求多大的内存?今天的图片5M,明天的10M,后天的如果100M呢?可见改内存很不明智,特别是程序给别人用的时候,鬼知道怎么改,即使知道也不愿意改那一下。