Android根据屏幕大小加载图片到内存

1.得到屏幕的宽和高

Display display=getWindowManager.getDefaultDisplay();
int displayWidth=display.getWidth();
int displayHeight=display.getHeight();

2.得到图片的宽和高


BitmapFactory.Options opts=new BitmapFactory.Options();
opts.injustDecodeBounds=true;//不去解析真正的位图,只是获取这个位图的文件信息(包括宽和高)
int bitmapWidth=opts.outWidth;
int bitmapHeight=opts.outHeight;



3.计算缩放比例

int dx=(int)Math.ceil(bitmapWidth/(float)displayWidth);
int dy=(int)Math.ceil(bitmapHeight/(float)displayHeight);
int scale=1;
if(dx>=dy){
scale=dx;
}else if(dx

4.加载缩放的图片到内存

opts.inSampleSize=scale;
opts.injustDecodeBounds=false;
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.mipmap.alarm_mode_bg,opts);




你可能感兴趣的:(Android根据屏幕大小加载图片到内存)