android – 在下载整个图像之前显示模糊缩略图(如Whatsapp中)?

我正在尝试在Whatsapp做相同的漂亮的UI效果.每次我收到一些图像,无论其大小,我可以看到模糊的缩略图在1秒内,并在其上一个指示器,真正的图像被下载.

他们怎么做到这一点当用户从我们的服务器下载图像时,我想实现相同的效果.我不知道他们是在做一些服务器端的图像处理,还是在Android SDK中有一个内置的功能可以做到这一点.

假设用户请求4MB的图像.几乎立刻,他点击下载,图像的模糊缩略图将出现在屏幕上,并在其上下载状态指示器.我主要感兴趣的是如何快速地获得图像预览,从字面上看,在1秒钟的时间内(感觉就像瞬间).

PS.当您尝试上传图像时,类似的效果具有StackOverflow.当您将其拖动到上传弹出窗口时,您几乎可以立即看到它的预览.我猜Stackoverflow通过使用客户端脚本来做到这一点,我们不能在Android应用程序中应用.但这是一个很好的展示我需要的(万一你不使用Whatsapp).

解决方法

基本上,在这些情况下发生的情况是您需要从服务器请求一个模糊的缩略图(通常非常小,以便它快速下载),然后开始下载完整的映像.这是服务器必须完成的.

更新:
您现在可以使用像渐进式jpeg这样的技术来实现相同的效果,而无需您的服务器存储两个单独的图像.逐行jpegs基本上对图像的第一个字节中的质量非常低的图像进行编码,然后随着图像继续加载,质量提高.这可能不是你正在寻找的确切的效果,但它应该能够显示一个快速低质量的预览,而加载在完整大小的图像.目前在Android上加载这些的唯一方法是使用Facebook’s Fresco library.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...