我正在开发一个将图像从j2me mobile上传到服务器的应用程序。与在j2me手机中一样,我们只分配了1 mb的堆大小,因此当我尝试上传大于1 mb的图像时,它会抛出 OutOfMemory 异常。有没有办法在j2me手机中处理这个问题。
感谢。
答案 0 :(得分:1)
在上传之前,您似乎试图将整个图像加载到内存中(使用byte[]
)。如果是这种情况,你应该避免这样做。你最好使用流
首先获取文件的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();
}