我解决了oom

BitmapFactory.Options options=new BitmapFactory.Options();

options.inJustDecodeBounds = false;

options.inSampleSize = 10;   //width,hight设为原来的十分一

return BitmapFactory.decodeFile(imgPath,options);

options必加上

最后再回收

@Override

protected void onDestroy(){

if(b!=null){

b.recycle();

System.gc();

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-12 06:24:02

我解决了oom的相关文章

解决了OOM的问题

public class ImageUtils { /** * 从SDCard读取图片时压缩 * * @param srcPath * @return */ public static Bitmap compressImageFromFile(String srcPath, float ww, float hh ) { BitmapFactory.Options newOpts = new BitmapFactory.Options(); newOpts.inJustDecodeBounds =

Android基础笔记(十五)- 图形、解决大图OOM、绘画工具的使用和练习

计算机图形表示的原理 加载大图出现OOM 缩放加载大的图片资源 创建一个原图的副本 图形处理的常用的API 傻瓜版美图秀秀 画画版 计算机图形表示的原理 首先要明确的一点是,一张图片的在内存中存储所需的大小和图片在屏幕设备上完整显示所需的内存大小是有非常大的差异的. 如下图,从中我们可以清晰的看出这张图片,在硬盘上所占的存储空间是303KB,也就是310272个字节.但是如果想把这样图片完整的展示到屏幕设备上,所需的内存空间远远不止这些. 有这样一个计算公式:图片展示所需内存 = 图片的宽度像素

关于android 使用bitmap的OOM心得和解决方案

android开发,从2010年开始学习到现在的独立完成一个app,这漫长的四年,已经经历了很多次bug的折磨,无数次的加班训练.然而,自以为自己已经比较了解android了,却最近在一个项目上,因为oom而折腾了一个周,回到原地,认识了自己的不足,感觉自己是如此的菜鸟呀. 好了,不废话,大家在使用开发android的时候,很少会注意或者意识到释放内存的重要性,因为大家在使用过程中,涉及的图片资源不多,或者比较稳定,来回切换界面,图片也就那么几张或者使用的都是很小的图片,根本不会感觉到图片占用内

软引用SoftReference异步加载图片

HashMap<String, SoftReference<Drawable>> imageCache 关于SoftReference这个类多少知道些机制,会用就ok了. 机制:简单来说,她会帮助我们管理内存,防止内存溢出,另外一点也就相当于map,临时缓存些图片drawable让我们可以直接引用,很好了解决了OOM异常. 实现代码片段: [java]package com.Tianyou.Mobile.Common;  import java.io.IOException; im

Android基础面试题

1. 转屏时候Activity的生命周期 1.1 新建一个Activity,并把各个生命周期打印出来 1.2 运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 1.3 按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceSta

程序员周末整理的一些思路

谨记原则:Relax Efficiency Studying 一 放松心态,跳出当前思维 要想成为一个高级程序员,不得不提到效率的问题.而效率又来自于对时间的合理分配,俗话说,不想成为将军的士兵不是好士兵,同样的也可以应用在开发领域,不想成为CEO的程序员不是好项目经理,一个效率高的程序员必定有着对自我时间的良好安排,对自我调节的最好阐释. 周末建议:多陪陪家里人或选择户外活动,放松一周的疲惫身心.只有身心得到良好的调整才有下周的更进一步! 二 百善孝为先,百项(目)效(率)为先 "学会使用轮子

使用Android Studio调试内存问题

http://blog.csdn.net/yutao52shi/article/details/50055669 前言 内存问题对于Android开发者是永远的痛.如果一个android程序员说他没有遇到过OutOfMemory,那只能说他绝对不是做Android的.以往在ADT年代,都是使用eclipse的Mat(http://www.eclipse.org/mat/)插件来做内存分析.在使用了Android Studio开发后,发现AS不仅带来了不少编码上的便利,同时还带来了很多有用的工具.

Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅

转载请注明出处http://blog.csdn.net/xiaanming/article/details/9825113 异步加载图片的例子,网上也比较多,大部分用了HashMap<String, SoftReference<Drawable>> imageCache ,但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠.另外,Android 3.0

图片的批量导入实现和对主键生成策略的思考

CDX一期上线的那天是我来公司最紧张的一天,因为这一天我要负责公司近5000张车型图的导入工作.虽然在完成上传和导入的代码之后测试了很多遍,但是真正到了正式环境,却真的很怕出问题.内搜.gift.以及本地和线上数据库的同步,哪一个环节出了问题都会影响上线的时间.现在一期上了线,也对自己图片上传导入这部分做一些总结,还有对现有方法不足之处的一些思考. 其实一张图的上传逻辑还是比较简单的: 1. 上传图片到gift服务器. 2. 保存图片信息到线上数据库. 3. 将图片信息按固定格式推送给内搜,便于