1

我正在开发一个应用程序,用于将图像从 j2me mobile 上传到服务器。在 j2me 手机中,我们只分配了 1 mb 的堆大小,因此当我尝试上传超过 1 mb 的图像时,它会抛出OutOfMemory异常。有没有办法在 j2me 手机中处理这个问题。

谢谢。

4

1 回答 1

1

看起来您正在尝试byte[]在上传之前将整个图像加载到内存中(使用 a )。如果是这种情况,您应该避免这样做。你最好使用流。
首先InputStream为文件和OutputStream服务器获取一个。然后使用缓冲区将所有文件内容从一个复制到另一个:

public static final void copy(InputStream from, OutputStream to)
    throws IOException
{
    byte [] buffer = new byte[1024];
    int count = from.read(buffer);

    while (count > 0) {
        to.write(buffer, 0, count);
        count = from.read(buffer);
    }

    to.flush();
}
于 2013-04-19T16:36:45.397 回答