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需要时间,我们不能做到一下显示清晰

图片,或者缩短图片变清晰的时间。

时间: 2024-08-06 03:08:59

Android打开图库中图片为什么从模糊变清晰的相关文章

Android 从图库选择图片,拍照图片,裁剪图片

我直接写代码了 1先来几个常亮 private static final int PHOTO_REQUEST_CAREMA = 1;// 拍照private static final int PHOTO_REQUEST_GALLERY = 2;// 从相册中选择private static final int PHOTO_REQUEST_CUT = 3;// 结果private static final String PHOTO_FILE_NAME = "temp_photo.jpg"

[python学习] 简单爬取图片站点图库中图片

近期老师让学习Python与维基百科相关的知识,无聊之中用Python简单做了个爬取"游讯网图库"中的图片,由于每次点击下一张感觉很浪费时间又繁琐.主要分享的是怎样爬取HTML的知识和Python怎样下载图片.希望对大家有所帮助,同一时候发现该站点的图片都挺精美的,建议阅读原网下载图片,支持游讯网不要去破坏它. 通过浏览游讯网发现它的图库URL为.当中所有图片为0_0_1到0_0_75: http://pic.yxdown.com/list/0_0_1.html http://pic.

[python学习] 简单爬取图片网站图库中图片

最近老师让学习Python与维基百科相关的知识,无聊之中用Python简单做了个爬取"游讯网图库"中的图片,因为每次点击下一张感觉非常浪费时间又繁琐.主要分享的是如何爬取HTML的知识和Python如何下载图片:希望对大家有所帮助,同时发现该网站的图片都挺精美的,建议阅读原网下载图片,支持游讯网不要去破坏它. 通过浏览游讯网发现它的图库URL为,其中全部图片为0_0_1到0_0_75: http://pic.yxdown.com/list/0_0_1.html http://pic.y

android 获取图库中展示到界面中

layout: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:ori

android 在图库中进行幻灯片播放时图片不会全屏显示

1.在 Slideshowview.java 2.        @Override public void apply(GLCanvas canvas) { int viewWidth = getWidth(); int viewHeight = getHeight(); float initScale = Math.min((float) viewWidth / mWidth, (float) viewHeight / mHeight); // M: if special SUB_TYPE,

Android 读取Assets中图片

bgimg0 = getImageFromAssetsFile("Cat_Blink/cat_blink0000.png"); * * 从Assets中读取图片 */ private Bitmap getImageFromAssetsFile(String fileName) { Bitmap image = null; AssetManager am = getResources().getAssets(); try { InputStream is = am.open(fileNa

Android安卓开发中图片缩放讲解

安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们取图片的缩略图,取缩略图的方法我们可以使用 BitmapFactory的decodeFile方法,然后通过传递进去 BitmapFactory.Option类型的参数进行取缩略图,在Option中,属性值inSampleSize表示缩略图大小为原始图片大小的几 分之一,即如果这个值为2,则取出的缩略

android将应用中图片保存到系统相册并显示

我应用到的场景是程序中在视频通讯时截图,将截图保存到本地相册中 /*** @param bmp 获取的bitmap数据 * @param picName 自定义的图片名*/ public static void saveBmp2Gallery(Bitmap bmp, String picName) { String fileName = null; //系统相册目录 String galleryPath= Environment.getExternalStorageDirectory() + F

【JavaScript】图片加载由模糊变清晰 —— 图片优化

开发过程中,一些图片的展示时,加载很慢很久,后来把图片缩放压成缩略图吧,速度是快了但是模糊不清,如何处理这样问题,下面就和大家分享一下自己的处理方法. 先让客户端加载像素小的缩略图: <img src="缩略图.jpg" name="pic" width="800" height="600" id="news" /> 然后用js处理: var img = new Image();//新建一个图片