android性能优化问题 在做的一个项目中有多个GridView来展示图片,现在经常遇到的问题是正常切换完几个Activity后,程序就oom异常了,现在我的一种做法是,在Activity finish之前添加recycle掉该Activity中GridView的所有图片,但这样做似乎没什么效果,请问一下坛友ListView或者GridView常用的优化技巧有哪些呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、ConvertView的重用,这个最重要,绝大部分的OOM原因是new了太多的ConvertView造成的。2、ListView和GridView尽量在xml文件中规定大小,尽量不要使用代码对ListView和GridView的宽和高进行更改。不能直接使用相对布局来控制ListView和GridView的大小,否则会不断的进行创建。3、及时回收多余的或者不用的对象来减少内存消耗,多使用软引用和弱引用。 可以在Adapter的getView方法里面加LOG来进行测试,查看手机一屏显示的VIEW实际数量与LOG次数是否相同,如果LOG比实际数量多很多,那就有可能是我说的1和2的问题,检查一下。 展示图片的话,OOM很有可能是使用bitmap造成的。可以用软引用来解决,楼主可以自己google一下。 在activity结束前把所有的图片都recycle掉 推荐楼主看一下这篇文章:http://developer.android.com/training/displaying-bitmaps/index.html 通过WebService上传容量大的图片的问题 Android如何扫描周围设备! android开发一个小项目 基于ViewGroup的滑动界面动态添加的数据为什么不显示? android真机APIkey申请 http post 编码问题 android中自定义字体的使用问题 如何创建一个界面xml文件? eclipse android虚拟机开机后什么都没有 连系统都没有 如何保存checkbox的状态? android编译错误,麻烦看下,谢谢 Emulator Control调试中文短信
2、ListView和GridView尽量在xml文件中规定大小,尽量不要使用代码对ListView和GridView的宽和高进行更改。不能直接使用相对布局来控制ListView和GridView的大小,否则会不断的进行创建。
3、及时回收多余的或者不用的对象来减少内存消耗,多使用软引用和弱引用。