0
点赞
收藏
分享

微信扫一扫

android开发 - OOM 简单 的 解决方法


1.避免内存泄露


2.解除应用


3.Close();
  特别注意Cursor


4.不要遗落注册的对象
  比如说广播,不需要的时候一定要释放


5.循环应用


6.该关闭的资源对象没有关闭


7.Bitmap对象在不使用时,应该调用recycle释放内存,然后设置为Null,因为它没有


8.Context对象的应用会引起activity不会被GC回收
  尽量使用getApplicationContext();




有一个插件,调试内存分析

​​http://download.eclipse.org/mat/1.4/update-site/​​




内存优化


1.回收不可见的界面


2.典型的用时间来换取空间


复用内存
  ListView就是一个典型
  我们在ListView界面往下滑动时,上面的不可见,下面的内存在显示,那么前面不可见的内容的内存并没有被释放,而是被下面将要显示内容占用上


  


  我们在创建一次的时候,下次在使用,直接赋值上去
 
复用内存可以提高应用程序速度,也可以防止内存泄露








JAVA从JDK1.2开始,对象的引用分为四中级别



强引用

软引用

弱引用

虚引用





弱引用,GC可能随时回收它的内存



软引用,只要当内存不够用时,GC才会回收它的内存



在java.lang.ref包中提供的类



SoftReference类



WeakReference类



PhantomReference类



它们分辨代表软引用、弱引用、虚引用





个人认为,开发android中合理使用软引用和弱引用




举报

相关推荐

0 条评论