首页 > 代码库 > 报OutOfMemoryError错误怎么处理
报OutOfMemoryError错误怎么处理
一般出现这样的错误就是内存溢出了,资源文件太大了,我今天运行程序是一直报这个错误,结果发现是图片太大的问题,只要将图片的尺寸缩小就可以解决了
1、缩小图片
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;//图片宽高都为原来的四分之一,即图片为原来的八分之一
2、将options设置到到Bitmap里面
Bitmap bitmap = BitmapFactory.decodeStream(ContextApplication.getContext().getContentResolver().openInputStream(Uri.parse(uri)),null,options);
这里是通过Uri来获取图片
这样就把问题解决了,于此同时又发现了另一个问题,是关于Fragment的,我自定义了一个Fragment,并定义了一个带参的构造函数,结果就报错,
说必须要有无参的构造函数,通过查阅网上的知识发现也都说Fragment必须要有无参的构造函数,那么是为什么了?
因为Activity在加载Fragment时,运行
super.onCreate(savedInstanceState);时会去调用Fragemnt的无参构造函数,如果没有,因为找不到,通过反射自然就会报错。
其他的内存溢出问题可参照http://blog.csdn.net/wanghao200906/article/details/50426881
报OutOfMemoryError错误怎么处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。