首页 > 代码库 > Android打开图库中图片为什么从模糊变清晰

Android打开图库中图片为什么从模糊变清晰

1. 有一点要明确,图片要进行显示,首先要先将图片进行decode,然后才能显示
2. 图片decode需要时间,越大的图片,细节越多的图片,那么它decode时间就越长
3. 最笨的做法就是,等图片decode完了,我们再显示,在decode完之前就看到黑色的背景。但
这样的做法不太友好,尤其是大的图片的时候,等待的时间就越长
为了给客户更好的用户体验,我们会先decode一张图片的thumbnail即缩略图, 当我们点击一张
图片进来之后,我们首先看到的是这个图片的thumbnail,这样用户就知道图片有被显示
但是,由于thumbnail的分辨率有限,贴到屏幕上之后就会比较模糊。这就是为什么一开始看到模
糊的原因
4. 这个时候,还是逃不掉decode整张图片的步骤,我们完全可以等整张图片decode完毕之后再
更新到屏幕。但我们认为这种方式也不是太好,为什么不是decode出一部分就显示一部分呢?
所以最终的方法是:我们将整个图片分成小块(tile),high resolution的图片,tile的size
是510,普通图片的tile size是254,然后我们按照从上到下,从左到右的顺序依次decode
tile,所以你看到图片一小块一小块的显示,图片逐步变清晰的过程
所以,目前此方案已经做到了最优化,不过由于本身decode需要时间,我们不能做到一下显示清晰
图片,或者缩短图片变清晰的时间。

Android打开图库中图片为什么从模糊变清晰