博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何修改java.lang.OutOfMemoryError?
阅读量:6619 次
发布时间:2019-06-25

本文共 1124 字,大约阅读时间需要 3 分钟。

hot3.png

报oom错误的代码:

public void onPictureTaken(byte[] data, Camera camera) {    Bitmap foto = BitmapFactory.decodeByteArray(data, 0, data.length);    wid = foto.getWidth();    hgt = foto.getHeight();    Bitmap newImage = Bitmap.createBitmap(wid, hgt, Bitmap.Config.ARGB_4444);    Canvas canvas = new Canvas(newImage);    canvas.drawBitmap(foto, 0f, 0f, null);    if (newImage.getWidth() > newImage.getHeight()) {        Matrix matrix = new Matrix();        matrix.postRotate(90);        newImage.createBitmap(newImage, 0, 0, wid, hgt, matrix, true);    }}

修改后的代码:

Bitmap bm = null;BitmapFactory.Options options = new BitmapFactory.Options();options.inSampleSize = 5;AssetFileDescriptor fileDescriptor =null;try {    fileDescriptor = this.getContentResolver().openAssetFileDescriptor(selectedImage,”r”);    } catch (FileNotFoundException e) {    e.printStackTrace();    }finally{    try {        bm = BitmapFactory.decodeFileDescriptor(fileDescriptor.getFileDescriptor(), null, options);        fileDescriptor.close();    } catch (IOException e) {        e.printStackTrace();    }    }

转载于:https://my.oschina.net/u/1244156/blog/222307

你可能感兴趣的文章
PHP数据集构建JSON及新数组
查看>>
写一本书和找一本书
查看>>
hdu1010 Tempter of the Bone(DFS+剪枝)
查看>>
js这些代码你都不会,你还有什么好说的!!!
查看>>
Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
查看>>
Nexus设备升级5.0方法
查看>>
洛谷P1311 选择客栈
查看>>
Oracle参数设置之set与reset的实际案例
查看>>
Python 字典 copy()方法
查看>>
判断是否是爬虫在访问网站
查看>>
java程序员必须要学会的linux命令总结
查看>>
Java代码规范和质量检查插件-Checkstyle(官方资源)
查看>>
IDEA:将WEB-INF\lib下的Jar包添加到项目中
查看>>
【Java猫说】Java多线程之内存可见性(下篇)
查看>>
php-socket 客户端/服务端
查看>>
SVN迁移到GIT且保留提交日志
查看>>
在Kubernetes上运行高可用的WordPress和MySQL
查看>>
Go代码打通HTTPs
查看>>
[Leetcode] Reverse Linked List 链表反转(递归与非递归)
查看>>
HTML中dl元素的高度问题
查看>>