在Android中将JPG图像上传到服务器

时间:2013-05-23 23:21:43

标签: java android performance

我有一个奇怪的问题。在Bitmap中解码JPG图像时,由于JPG是压缩格式,因此内存非常高。因此,对于0.5 MB JPG图像,位图几乎为4 MB。 我的问题是,如果我想上传图像,我可以从文件中读取它并将其发送到服务器,即我不需要在Bitmap中加载它。 有没人试过这个? 这有道理吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。您不需要将jpg转换为位图以将其上载到服务器。

您可以考虑使用更高级别的API,例如http://loopj.com/android-async-http/。有关详细信息,请参阅“使用RequestParams上传文件”部分。

答案 1 :(得分:0)

jpg是一种将压缩图像存储到文件中的格式。这是实用的,因为它比原始位图格式占用更少的内存,其中图像中所有像素的颜色值明确地存在于数据中。

你需要解压缩jpg文件才能显示它,但发送它的最佳方式是使用压缩的jpg文件(不需要加载位图,只需发送文件中的数据)。

请注意,JPEG压缩是有损,这意味着尺寸的缩小会降低原始源图像的质量。 (参见完整且图文并茂的维基百科条目:https://en.wikipedia.org/wiki/Jpg)。