android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug

转载 2015年07月07日 09:54:09

本文系转载,原文地址:http://www.cnblogs.com/dyllove98/archive/2013/07/02/3167875.html

解决这个Bug的方法就是获取该图片的缩略图,android中的内存是很宝贵的,所以我们就的进一步处理了,获取缩略图的代码如下:

//第一个参数是图片的路径,第二个参数是获取到的缩略图的宽度,第三个参数是获取到的缩略图的高度
private static Bitmap getImageThumbnail(String imagePath, int width,
            int height) {
        Bitmap bitmap = null;
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inPreferredConfig = Bitmap.Config.ARGB_4444;
        options.inPurgeable = true;
        options.inInputShareable = true;
        options.inJustDecodeBounds = true;
        // 获取这个图片的宽和高,注意此处的bitmap为null
        bitmap = BitmapFactory.decodeFile(imagePath, options);
        options.inJustDecodeBounds = false; // 设为 false
        // 计算缩放比
        int h = options.outHeight;
        int w = options.outWidth;
        int beWidth = w / width;
        int beHeight = h / height;
        int be = 1;
        if (beWidth < beHeight) {
            be = beWidth;
        } else {
            be = beHeight;
        }
        if (be <= 0) {
            be = 1;
        }
        options.inSampleSize = be;
        // 重新读入图片,读取缩放后的bitmap,注意这次要把options.inJustDecodeBounds 设为 false
        bitmap = BitmapFactory.decodeFile(imagePath, options);
        // 利用ThumbnailUtils来创建缩略图,这里要指定要缩放哪个Bitmap对象
        bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,
                ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
        return bitmap;
    }

Android遇到内存溢出(Out Of Memory)BUG的经验与解决方法

这阵子的程序经常出现OutofMemoryError的问题。而且都是在图片处理的时候。所以头痛了几天。看到下面这个文章后,我的问题得到了最终的解决,感谢作者。 原文如下: ...
  • tornadofeng
  • tornadofeng
  • 2015年03月05日 11:34
  • 7577

Android使用BitmapFactory.Options压缩图片解决加载大图片内存溢出

由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出。Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfM...
  • heng615975867
  • heng615975867
  • 2016年01月26日 21:10
  • 1714

Android使用帧动画内存溢出解决方法

最近在项目遇到的动画效果不好实现,就让UI切成图,采用帧动画实现效果,但是在使用animation-list时,图片也就11张,每张图片大概560k左右,结果内存溢出,崩溃 了,自己用了三张都崩溃;拿...
  • daitu_liang
  • daitu_liang
  • 2016年08月27日 17:31
  • 4724

Android2.2源代码中关于生成图片缩略图的一个bug

现象:在sdcard上存放一个特殊分辨率的JPEG图片,比如1x10000。然后使用android自带的图库应用程序去浏览该图片。使用图库浏览图片,会先生成缩略图供用户浏览。此时,图库应用程序会异常退...
  • wxzking
  • wxzking
  • 2011年07月02日 16:49
  • 2387

Android获取本地图片缩略图终极解决方案

QAQ学Android真的还是要在项目中获得锻炼,脱离实际一切都是耍流氓哼唧~! 花了一下午时间搞定了项目中要实现的获取本地图片缩略图并显示在ListView上的,并且点击要能获得该图片文件路径功能,...
  • qq_22770457
  • qq_22770457
  • 2016年05月24日 20:43
  • 13537

Android进阶2之图片缩略图(解决大图片溢出问题)

正在做一个软件其中涉及到一些关于缩略图的知识。还有就是大图片的溢出问题,也可以通过缩略图的方式避免。 主要是通过BitmapFactory.Options 来实现。 Options中有个属性inJ...
  • SJF0115
  • SJF0115
  • 2012年03月19日 08:23
  • 15349

Android获取SD卡上所有图片、视频缩略图和音乐专辑封面

查询图片首先,查询Android固有数据库,图片的Uri为Images.Media.EXTERNAL_CONTENT_URI。 以下为具体查询实例,FileInfo为自定义的数据模型。public ...
  • XieYupeng520
  • XieYupeng520
  • 2015年06月25日 10:59
  • 6156

Android系统详解之获取图片和视频的缩略图

From:http://blog.csdn.net/MYBOYER/article/details/8959609
  • MaximusKiang
  • MaximusKiang
  • 2014年06月08日 22:29
  • 688

获取Android手机上的图片和视频缩略图

作者: Android开发网原创 时间: 2010-10-20    大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲、图片和视...
  • Mirage520
  • Mirage520
  • 2011年12月04日 01:56
  • 1595

Android之如何获取视频或者图片的缩略图

import java.io.File; import android.app.Activity; import android.graphics.Bitmap; import ...
  • AexLinda
  • AexLinda
  • 2014年11月21日 17:28
  • 534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug
举报原因:
原因补充:

(最多只允许输入30个字)