zoukankan      html  css  js  c++  java
  • Android以最省内存的方式读取本地资源的(转)

    Android以最省内存的方式读取本地资源的

    方法一:

    /**
    * 获取本地图片并指定高度和宽度
    */
    public static Bitmap getNativeImage(String imagePath)
    {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    // 获取这个图片的宽和高
    Bitmap myBitmap = BitmapFactory.decodeFile(imagePath, options); //此时返回myBitmap为空
    //计算缩放比
    int be = (int)(options.outHeight / (float)200);
    int ys = options.outHeight % 200;//求余数
    float fe = ys / (float)200;
    if (fe >= 0.5)
    be = be + 1;
    if (be <= 0)
    be = 1;
    options.inSampleSize = be;

    //重新读入图片,注意这次要把options.inJustDecodeBounds 设为 false
    options.inJustDecodeBounds = false;

    myBitmap = BitmapFactory.decodeFile(imagePath, options);
    return myBitmap;
    }

    方法二:

    /**
    * 以最省内存的方式读取本地资源的图片
    * @param context
    * @param resId
    * @return
    */
    public static Bitmap readBitMap(Context context, int resId)
    {
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inPreferredConfig = Bitmap.Config.RGB_565;
    opt.inPurgeable = true;
    opt.inInputShareable = true;
    //获取资源图片
    InputStream is = context.getResources().openRawResource(resId);
    return BitmapFactory.decodeStream(is, null, opt);
    }

    方法三:

    /**
    * 以最省内存的方式读取本地资源的图片 或者SDCard中的图片
    * @param imagePath
    * 图片在SDCard中的路径
    * @return
    */
    public static Bitmap getSDCardImg(String imagePath)
    {
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inPreferredConfig = Bitmap.Config.RGB_565;
    opt.inPurgeable = true;
    opt.inInputShareable = true;
    //获取资源图片
    return BitmapFactory.decodeFile(imagePath, opt);
    }

  • 相关阅读:
    JAVA复习笔记之GC部分
    elasticsearch学习笔记--原理介绍
    JavaScript--Array数组jion方法使用
    MyBatis探究-----缓存机制详解
    C#---- Winform控件PictureBox详解
    Mybatis探究-----一对一、一对多关联查询
    C#-----CancellationTokenSource取消线程
    MyBatis探究-----接口类映射XML文件中符号$和#的区别
    C#-----定时器的几种实现
    eclipse如何在不联网的情况下引入dtd约束文件
  • 原文地址:https://www.cnblogs.com/androidxiaoyang/p/2739256.html
Copyright © 2011-2022 走看看