如何在Android中压缩下载的图像并在需要时解压缩?
Posted
技术标签:
【中文标题】如何在Android中压缩下载的图像并在需要时解压缩?【英文标题】:How to compress downloaded images and decompress when needed in Android? 【发布时间】:2020-06-16 12:42:49 【问题描述】:如何压缩可以存储在内存中的 jpg/bmp 文件,然后在需要时解压缩这些图像并显示给用户,而不会损失太多图像质量?如何进行压缩和解压缩,任何指导/链接都会有所帮助。 谢谢你
【问题讨论】:
【参考方案1】:创建图像缩略图
'byte[] imageData = null;
try
final int THUMBNAIL_SIZE = 64;
FileInputStream fis = new FileInputStream(fileName);
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE, false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
imageData = baos.toByteArray();
catch(Exception ex)
`
【讨论】:
感谢@Amit pandey【参考方案2】:如果你需要 thumbNail 然后使用 ThumbNailUtils.extractThumbnail(位图来源,int width,int height) 它显示位图的缩略图,当你想显示原始位图时显示位图 . 明智地使用位图对象会导致它在运行时占用更多内存。
【讨论】:
嘿thanx @ankitsinh corepix 寻求缩略图方面的帮助,但是在使用位图时是否有任何压缩和解压缩以减少占用空间? 是的,您可以在 android 文档中看到或在下面的链接中看到它用于压缩 developer.android.com/topic/performance/graphics/… 用于解压缩您必须使用位图 uri,如果您喜欢则直接加载位图,然后点赞回答。以上是关于如何在Android中压缩下载的图像并在需要时解压缩?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Java 中压缩 JSON 并在 Javascript 中解压缩 [关闭]