2013-04-20 72 views
2

我正在制作一个j2me应用程序。在这个应用程序中,我想上传超过1 MB的图片。但是,由于大部分手机的堆大小分配限制为1 MB,所以当我尝试创建超过1 MB大小的图像输入流时,它会抛出异常。所以我如何在j2me应用程序中压缩图像以在服务器上进行上传。如何在j2me中压缩图像

+0

您的输入流是否缓冲?什么是缓冲区大小? – 9000 2013-04-20 13:08:30

+0

感谢您的回复, InputStream inputStream = fileConnection.openInputStream(); 以这种方式创建输入流。抛出OutOfMemory异常在这一点上。请告诉我解决这个问题的方法,它非常紧迫。 – mark 2013-04-20 13:16:21

回答

0

不要一次加载所有图像逐个上传图像并清除以前的图像,这些图像将释放内存并调整图像大小以减小图像大小。

+0

@Faraz ...谢谢你的回复....但是请告诉我如何在不创建输入流的情况下调整图像大小,当我创建大文件输入流时出现问题,此时发生OutOfMemory异常。 – mark 2013-04-22 03:38:12

0

您使用scale()方法根据屏幕大小调整图像的大小。如果您希望图像适合手机屏幕尺寸,请使用Displayable.getWidth和getheight方法。将它们作为Scale(w,h)传递给Scale方法,并在图像变量上调用scale。大多数情况下,它会减少可以通过堆处理的图像大小。如果它仍然更高,然后将图像分成小字节,然后上传