图片原始像素大小为2268X4032 占用硬盘空间为3.94MB
解析图片尺寸
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.raw.iii, opt);
Log.e("iffy", "opt.outWidth" + opt.outWidth);
Log.e("iffy", "opt.outHeight" + opt.outHeight);
Log.e("iffy", "opt.inPreferredConfig" + opt.inPreferredConfig);
Log.e("iffy", "缩放前大小" + opt.outWidth+"*"+opt.outHeight+"* ARGB_8888(4)/1024="+opt.outWidth*opt.outHeight*4/1024/1024+"M");
计算采样值
opt.inSampleSize = calculateInSampleSize(opt, 500, 500);
Log.e("iffy", "opt.inSampleSize" + opt.inSampleSize);
opt.inJustDecodeBounds = false;
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.raw.iii, opt);
Log.e("iffy", "bm.getWidth()" + bm.getWidth());
Log.e("iffy", "bm.getHeight()" + bm.getHeight());
Log.e("iffy", "缩放后大小" + bm.getWidth()+"*"+bm.getHeight()+"* ARGB_8888(4)/1024="+bm.getWidth()*bm.getHeight()*4/1024/1024+"M");
让imageview显示
ImageView imgView = findViewById(R.id.img);
imgView.setImageBitmap(bm);
Dump信息
查看内存情况
1.查看Bitmap大小
2.查看Bitmap实际占用空间15Mb和logcat计算的大小一致
3.查看bitmap长宽