zoukankan      html  css  js  c++  java
  • android之图片内存溢出

    下面是我转抄自大牛的~~~~具体哪位大牛我也不清楚

    为了修改内存不足的问题你应该像下边这样做:

    BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize = 8;
    Bitmap preview_bitmap=BitmapFactory.decodeStream(is,null,options);

    inSampleSize这个选项可以减少内存消耗。
    这是一个彻底的解决方法。首先,它读取这个文件的大小,但是不用解码这个目录本身。然后,它发现最好的inSampleSize值,它需要大量的2.最后这个图片就可以被解码了。

    //解码图片然后对图片进行缩放以减少内存消耗
    private Bitmap decodeFile(File f){
        try {
            //解码图片大小
            BitmapFactory.Options o = new BitmapFactory.Options();
            o.inJustDecodeBounds = true;
            BitmapFactory.decodeStream(new FileInputStream(f),null,o);
    
            //我们想要的新的图片大小
            final int REQUIRED_SIZE=70;
            int scale=1;
            while(o.outWidth/scale/2>=REQUIRED_SIZE && o.outHeight/scale/2>=REQUIRED_SIZE)
                scale*=2;
    
            //用inSampleSize解码
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize=scale;
            return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
        } catch (FileNotFoundException e) {}
        return null;
    }

    谢谢大牛了。

  • 相关阅读:
    abap 调用Http --“Get”
    SAP-PI接口创建中的ABAP处理(不含PI配置)
    ALV 监听事件
    ABAP动态创建内表并展示--自撸版
    ABAP动态生成内表的三种方法
    SAP BP字段增强--付款条件检查
    SAP RFC上传接口(包含发布Webservice地址)
    C# 时间函数
    配置Excel的DCOM权限
    ORA-12571 : TNS : 包写入程序失败
  • 原文地址:https://www.cnblogs.com/fanglove/p/2873675.html
Copyright © 2011-2022 走看看