android 内存溢出 Java.lang.OutOfMemoryError
2015-12-22 14:38
393 查看
bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError的优化方法
★android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
● 主要是加上这段:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
//------------------------------------------------------------------------------------------------------------------
● eg1:(通过Uri取图片)
private ImageView preview;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap bitmap = BitmapFactory.decodeStream(cr
.openInputStream(uri), null, options);
preview.setImageBitmap(bitmap);
以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解决内存溢出。
● eg2:(通过路径取图片)
private ImageView preview;
private String fileName= "/sdcard/DCIM/Camera/2010-05-14 16.01.44.jpg";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap b = BitmapFactory.decodeFile(fileName, options);
preview.setImageBitmap(b);
filePath.setText(fileName);
★android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
● 主要是加上这段:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
//------------------------------------------------------------------------------------------------------------------
● eg1:(通过Uri取图片)
private ImageView preview;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap bitmap = BitmapFactory.decodeStream(cr
.openInputStream(uri), null, options);
preview.setImageBitmap(bitmap);
以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解决内存溢出。
● eg2:(通过路径取图片)
private ImageView preview;
private String fileName= "/sdcard/DCIM/Camera/2010-05-14 16.01.44.jpg";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap b = BitmapFactory.decodeFile(fileName, options);
preview.setImageBitmap(b);
filePath.setText(fileName);
相关文章推荐
- 基于Android实现保存图片到本地并可以在相册中显示出来
- Android签名的研究
- Android ListView使用convertView解决内存溢出问题(推介使用recyclerview,listview已过时)
- 对android应用进行单元测试
- Android 控件之点击链接跳转Activity
- 深入理解Android Studio之Gradle
- 基于Android热点的局域网UDP广播,部分手机收不到UDP报文的问题
- Android Studio遇到了一些小困惑
- 基于Android如何实现将数据库保存到SD卡
- View篇——索引列实现思想以及个人优化方式
- android 修改framework下资源文件后如何编译
- android 修改framework下资源文件后如何编译
- 工厂模式
- Android中进程线程调度的命令之cgroups
- android-ScrollView中嵌套ListView,item显示不全及第二页(超过一屏)显示不全
- 利用AndroidTestCase来做单元测试
- Android RadioButton与ListView的混合使用
- android黑科技之读取用户短信+插入短信到系统短信数据库
- [Android][Fatal Exception] android.content.res.Resources$NotFoundException 问题及解决方法
- Android WebView远程执行代码漏洞浅析