图片的二次采样

   由于BitmapFactory.decodeFile()获取图片有时候会报内存溢出,用了bitmap.recycler()也没用,就用了以下方法来进行图片的
二次采样
 
 BitmapFactory.Options options=new BitmapFactory.Options();
                    options.inJustDecodeBounds=true;
                    BitmapFactory.decodeFile(outputImage.getAbsolutePath(),options);
//                      WindowManager manager=getActivity().getWindowManager();//这方法不太准确
//                      int screenWidth=manager.getDefaultDisplay().getWidth();
//                      int screenHeight=manager.getDefaultDisplay().getHeight();
                    WindowManager manager=getWindowManager();
                    DisplayMetrics outMetrics=new DisplayMetrics();
                    manager.getDefaultDisplay().getMetrics(outMetrics);
//                    int screenWidth=outMetrics.widthPixels;//获取手机屏幕的宽度和高度
//                    int screenHeight=outMetrics.heightPixels;
                    int screenWidth=480;
                    int screenHeight=800;
                    int width=options.outWidth;
                    int height=options.outHeight;
                    int sampleSize=1;
                    Log.e("text","screenWidth===="+screenWidth);
                    Log.e("text","screenHeight==="+screenHeight);
                    while((width/sampleSize)>screenWidth||(height/sampleSize)>screenHeight){
                        sampleSize*=2;
                    }
                    options.inSampleSize=sampleSize;
                    options.inJustDecodeBounds=false;
                    options.inPreferredConfig= Bitmap.Config.RGB_565;
                    options.inDither=true;
                    Bitmap bitmap=BitmapFactory.decodeFile(outputImage.getAbsolutePath(),options);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值