zoukankan      html  css  js  c++  java
  • [android]加载大量图片避免OOM

    原理是事先取得图片的长宽,直接读出缩略图.

    BitmapFactory.Options options = new BitmapFactory.Options();
            options.inPreferredConfig = Bitmap.Config.ARGB_8888; // 默认是Bitmap.Config.ARGB_8888
            // 下面两个字段需要组合使用
            options.inPurgeable = true;

    options.inInputShareable = true;

             options.inJustDecodeBounds = true;//true和false之间获得长宽和缩放比例
             BitmapFactory.decodeFile(filepath, options);
             int wRatio = (int) Math.ceil(options.outWidth /(unit_width * PtsPerUnitPic));
             int hRatio = (int) Math.ceil(options.outHeight /( unit_height * PtsPerUnitPic));
             // 如果超出指定大小,则缩小相应的比例
             if (wRatio > 1 && hRatio > 1) {
             if (wRatio > hRatio) {
             options.inSampleSize = wRatio;
             System.out.println(wRatio);
             } else {
             options.inSampleSize = hRatio;
             System.err.println(hRatio);
             }
             }else {
                return;
            }         
             options.inJustDecodeBounds = false;
     
            temp_unit_bitmap = BitmapFactory.decodeFile(filepath, options);
  • 相关阅读:
    图的连通性问题之tarjan算法
    图的连通性问题之强连通分量初步
    NOIP 2010 引水入城
    最短路经典例题 codevs 1557 热浪
    图的连通性问题之连通和最小环
    最短路径算法
    《数据结构与算法-Javascript描述》
    蓝天白云
    《慢慢来,一切都还来得及》
    聚餐
  • 原文地址:https://www.cnblogs.com/zeyang/p/3606033.html
Copyright © 2011-2022 走看看