首页 > 移动平台 > 详细

android 垃圾回收

时间:2015-10-13 19:10:29      阅读:321      评论:0      收藏:0      [点我收藏+]

1.当系统内存不足时,系统将激活内存回收过程。为了不因内存回收影响用户体验(如杀死当前的活动进程),

Android 基于进程中运行的组件及其状态规定了默认的五个回收优先级:

IMPORTANCE_FOREGROUND:

IMPORTANCE_VISIBLE:

IMPORTANCE_SERVICE:

IMPORTANCE_BACKGROUND:

IMPORTANCE_EMPTY:

  这几种优先级的回收顺序是 Empty process、Background process、Service process、Visible process、Foreground process。

2.防止内存溢出:

  1)明确的调用System.gc()

  2)bitmap用完用bitmap.recycle()

  3)图片处理时指定大小

3. 第一:不要为Context长期保存引用(要引用Context就要使得引用对象和它本身的生命周期保持一致)。


  第二:如果要使用到Context,尽量使用ApplicationContext去代替Context,因为ApplicationContext的生命周期较长,引用情况下不会造成内存泄露问题


  第三:在你不控制对象的生命周期的情况下避免在你的Activity中使用static变量。尽量使用WeakReference去代替一个static。


  第四:垃圾回收器并不保证能准确回收内存,这样在使用自己需要的内容时,主要生命周期和及时释放掉不需要的对象。尽量在Activity的生命周期结束时,在onDestroy中把我们做引用的其他对象做释放,比如:cursor.close()。

android 垃圾回收

原文:http://www.cnblogs.com/zhengtu2015/p/4875188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!