相册获取图片报OOM异常解决办法
来源:互联网 发布:流程梳理,优化建议书 编辑:程序博客网 时间:2024/05/17 03:41
获取一个图片容易报OOM异常,这里做个笔记,但是这个会把图片搞得很模糊,图片的质量有所下降,后续会完善
private void setPic(ImageView imageView, Uri uri) { if (getActivity() != null) { //获取目标控件的大小 int targetW = imageView.getWidth(); int targetH = imageView.getHeight(); BitmapFactory.Options bmOptions = new BitmapFactory.Options(); try { //inJustDecodeBounds为true,可以加载源图片的尺寸大小,decodeStream方法返回的bitmap为null bmOptions.inJustDecodeBounds = true; BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(uri), null, bmOptions); // 得到源图片的尺寸 int photoW = bmOptions.outWidth; int photoH = bmOptions.outHeight; //通过比较获取较小的缩放比列 int scaleFactor = Math.min(photoW / targetW, photoH / targetH); // 将inJustDecodeBounds置为false,设置bitmap的缩放比列 bmOptions.inJustDecodeBounds = false; bmOptions.inSampleSize = scaleFactor; bmOptions.inPurgeable = true; //再次decode获取bitmap Bitmap bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(uri), null, bmOptions); imageView.setImageBitmap(bitmap); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
0 0
- 相册获取图片报OOM异常解决办法
- android通过相册获取图片oom的问题
- ios 相册获取图片模糊解决办法
- BitmapFactory获取Bitmap图片以及解决OOM异常
- android照相、相册获取图片剪裁报错的解决方案
- android照相、相册获取图片剪裁报错的解决方法
- android照相、相册获取图片剪裁报错的解决方案
- android照相、相册获取图片剪裁报错的解决方法
- android 加载图片oom异常
- 获取相册中的图片
- 获取相册图片类型
- 获取本地相册图片
- 从相册获取图片
- 获取本地相册图片
- 获取相册图片
- 网络获取图片太大,OOM
- android 从相册选取图片在小米手机报错的解决办法
- 模拟器报内存不足OOM异常解决方法
- python 正则表达式re.findall
- 根据两点经纬度求直线与正北方向的夹角
- vue加载时闪现模板语法
- jQuery学习之jQuery Ajax用法详解
- java hashCode() equals()
- 相册获取图片报OOM异常解决办法
- Unity 对话系统插件学习笔记
- bfs入门——Catch That Cow
- 用sklearn和tensorflow做boston房价的回归计算的比较(3)--RNN之递归神经网路LSTM
- Struts2中URL处理
- JAVAMAIL实现发送邮件
- 形象的描述大数据的技术生态以及Hadoop、Hive、Spark 之间关系
- 坑:删除ViewGroup中的一个已经得到焦点的EditText时,同级的第一个EditView会得到焦点
- c++小程序媛常用网站