1. 当项目中包含大量图片,或者图片过大
方法1:等比例缩小图片
BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 4
方法2:对图片采用软引用,及时地进行recyle()操作
SoftReference<Bitmap> bitmap; bitmap = new SoftReference<Bitmap>(pBitmap); if(bitmap != null){ if(bitmap.get() != null && !bitmap.get().isRecycled()){ bitmap.get().recycle(); bitmap = null; } }
方法3 : 对复杂的listview进行合理设计与编码(个人感觉这个靠谱点)1. 注意重用Adapter里面的convertView,以及holder机制的运用
上述方法尝试还未成功,可用 lazy loading data
public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { v = mInflater.inflate(resource, parent, false); final int[] to = mTo; final int count = to.length; final View[] holder = new View[count]; for (int i = 0; i < count; i++) { holder[i] = v.findViewById(to[i]); } v.setTag(holder); } else { } }
方法4 : 单个页面,横竖屏切换N次后 OOM
1. 看看页面布局当中有没有大的图片,比如背景图之类的。去除xml中相关设置,改在程序中设置背景图(放在onCreate()方法中):
Drawable bg = getResources().getDrawable(R.drawable.bg); XXX.setBackgroundDrawable(rlAdDetailone_bg);
在Activity destory时注意,bg.setCallback(null); 防止Activity得不到及时的释放。
2. 跟上面方法相似,直接把xml配置文件加载成view 再放到一个容器里,然后直接调用 this.setContentView(View view);避免xml的重复加载。
方法5:在页面切换时尽可能少地重复使用一些代码。比如:重复调用数据库,反复使用某些对象等等.....
方法6:Android堆内存也可以自己定义大小和优化Dalvik虚拟机的内存
private final static int CWJ_HEAP_SIZE= 6*1024*1024; private final static float TARGET_HEAP_UTILIZATION = 0.75f; VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); VMRuntime.getRuntime().setTargetHeapUtilization(TARGET_HEAP_UTILIZATION);
转自:http://bbs.51cto.com/thread-955196-1.html
相关推荐
基本上解决了OOM问题 如果 方便可以直接引用BitmapManager类到 项目中使用 解决blog 地址http://www.cnblogs.com/liongname/articles/2345087.html
android 图片下载 有效解决内存溢出问题 android 图片下载 有效解决内存溢出问题
android加载大量图片内存溢出的三种解决办法
针对Android应用中Gallery内存溢出的解决方案
Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...
Android有效解决加载大图片时内存溢出的问题
Android 内存溢出的一些解决办法
poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取为cvs即可.此解决方案可支持千万数据的...
分虽然多了点,但是项目...图片过大内存溢出:在图片读取是处理里图片,解决了溢出问题 项目下载后,直接导入就可以运行,是2.2的版本,有个插件android-async-http-1.4.4.jar,可能要配置下,还有服务器,端口是8080
android 解析加载图片是一个常用的技术 但是如何优化 这是一个问题 想要用户体验好必须加载速度快 稳定 那么你看了这个代码就明白了
android 双缓冲Demo 解决图片太多内存泄露的问题,是解决大量图片的好方法,亲测可用
uniapp项目体量过大时,打包H5...解决放案: 替换HBuildX内置\HBuilderX\plugins\node\node.exe版本 添加\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-x64-72\binding.node文件
android 显示大的gif图片 能解决内存溢出的问题 用jni实现
主要介绍了Android内存溢出及内存泄漏原因进行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
android解决内存溢出的问题(包括图片、对象的内存溢出)
主要介绍了Android加载图片内存溢出问题解决方法,本文讲解使用BitmapFactory.Options解决内存溢出问题,需要的朋友可以参考下
主要介绍了Android 使用帧动画内存溢出解决方案的相关资料,这里提供了详细的解决办法,具有参考价值,需要的朋友可以参考下
android bitmap outofMemory 用来解决android中常见的bitmap outOfMemory