美文网首页
加载大图片时采样率怎么计算

加载大图片时采样率怎么计算

作者: 今天也要努力呀y | 来源:发表于2020-04-01 18:06 被阅读0次

对于大图片为了防止OOM,内存溢出,所以采样率就是对图片显示到原来的的1/n大小
计算方法为图片宽度/控件宽度和图片高度/控件高度,取两者的最大值

 public void loadPic(View view) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        //当为true时,返回null
        options.inJustDecodeBounds = true;
        //测试所用的大图片
        final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.head_test, options);
        ImageView imageView = findViewById(R.id.pic);
        //拿到图片的大小
        int outHeight = options.outHeight;
        int outWidth = options.outWidth;
        Log.e(TAG, outHeight + " " + outWidth + "");

        //拿到控件的大小
        int measuredHeight = imageView.getMeasuredHeight();
        int measuredWidth = imageView.getMeasuredWidth();
        Log.e(TAG, measuredHeight + " " + measuredWidth);

        //默认为1
        options.inSampleSize = 1;

        //图片的宽度/控件的宽度
        //图片的高度/控件的高度
        //取两者的大值

        if (outHeight > measuredHeight || outWidth > measuredWidth) {
            int subHeight = outHeight / measuredHeight;
            int subWidth = outWidth / measuredWidth;
            options.inSampleSize = subHeight > subWidth ? subHeight : subWidth;
        }

        options.inJustDecodeBounds = false;
        Log.e(TAG, options.inSampleSize+" " );
        imageView.setImageBitmap(bitmap);

    }

相关文章

  • 加载大图片时采样率怎么计算

    对于大图片为了防止OOM,内存溢出,所以采样率就是对图片显示到原来的的1/n大小计算方法为图片宽度/控件宽度和图片...

  • iOS 图片加载框架SDWebImage详解

    目的 在使用SDWebImage加载图片时,尤其是加载gif等大图时,SDWebImage会将图片缓存在内存中,这...

  • SDWebImage加载图片优化

    在使用SDWebImage加载图片时,尤其是加载gif等大图时,SDWebImage会将图片缓存在内存中,这样是非...

  • Android大图加载之采样率压缩

    一.之前先简要介绍一下BitMapFactroy, Android中处理图片的工厂。 BitmapFactory里...

  • 大图监控

    大图监控 内存大户Bitmap大图检测: 对加载图片时所占用的内存大小设置一个阈值,当图片超过这个阀值的时候进行信...

  • Bitmap知识点

    采样率压缩 根据ImageView的大小,通过设置inSampleSize采样率,加载压缩后的图片。如下: inS...

  • 图片列表 Recyclerview + Glide 图片忽大忽小

    Android显示图片时,一般先根据屏幕的宽度、从服务器拿到图片的宽高尺寸,来计算图片加载url的宽w 和高h。图...

  • Android位图Bitmap在应用中的内存

    1.非本地资源Bitmap内存的计算 首先是一个像素占用的内存 不考虑采样率压缩,加载一张bitmap占用内存 当...

  • FFmpeg - 模仿B站实现视频预览卡片

    B站视频卡片预览 打开浏览器控制台,当鼠标指向某个视频卡片时,会加载一张大图,这张图是当前视频许多帧的合集,所以视...

  • iOS 加载高清大图片

    苹果官方加载大图片例子 首先得知道图片加载到内存中的大小怎么计算 如果是位图,则位图多大则加载到内存中所占用的大小...

网友评论

      本文标题:加载大图片时采样率怎么计算

      本文链接:https://www.haomeiwen.com/subject/rjgauhtx.html