我正在开发一个应用程序,用于将图像从 j2me mobile 上传到服务器。在 j2me 手机中,我们只分配了 1 mb 的堆大小,因此当我尝试上传超过 1 mb 的图像时,它会抛出OutOfMemory异常。有没有办法在 j2me 手机中处理这个问题。
谢谢。
我正在开发一个应用程序,用于将图像从 j2me mobile 上传到服务器。在 j2me 手机中,我们只分配了 1 mb 的堆大小,因此当我尝试上传超过 1 mb 的图像时,它会抛出OutOfMemory异常。有没有办法在 j2me 手机中处理这个问题。
谢谢。
看起来您正在尝试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();
}