Bitmap的回收

在Android里,垃圾的回收是靠系统来调度的。之前在网上查Bitmap的回收,大家都说Bitmap不会被系统的自动的垃圾回收。于是,做了个简单的测试,发现Bitmap的回收和普通的垃圾回收应该是一致的。

代码如下:

public void getBmp(View view)

{

String str = "/sdcard/pic.jpg";

Bitmap bmp = BitmapFactory.decodeFile(str);

}

发现,内存占用并不会随着改函数的调用而上升。如下所示:

当代码如下时:(其中, list为全局变量)

public void getBmp(View view)

{

String str = "/sdcard/pic.jpg";

Bitmap bmp = BitmapFactory.decodeFile(str);

list.add(bmp);

}

public void recycleBmp(View view)

{

list.clear();

System.gc();

}

先多次调用getBmp,在调用recycleBmp时,其内存占用如下:

由此可以证明,Bitmap在垃圾回收机制中被不占用特殊的地位。当某一Bitmap没有被引用时,垃圾回收会将其回收。

另外,在调用ImageView.setImageDrawable(null)后立即调用System.gc(),并不会立即将ImageView之前所有的Drawable回收。

更多相关文章

  1. Android下的binder机制和IPC原理
  2. Android(安卓)Camera 通过V4L2与kernel driver的完整交互过程
  3. HwServiceManager篇-Android10.0 HwBinder通信原理(五)
  4. Android(安卓)开发艺术探索笔记(18)
  5. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowng
  6. Android的Activity的启动流程分析
  7. MVP模式的Android(安卓)调用系统拍照,相册,剪裁,适配到7.0,修复拍照
  8. 关于android与h5互调简介
  9. 如何让android的service一直在后台运行

随机推荐

  1. Android(安卓)Studio 1.0 (稳定版) 完全
  2. 获取Android(安卓)SDK 源代码并在Eclipse
  3. Android"重力加速度传感器"从驱动到应用
  4. 互联网徐金良:Android为什么能够超越iOS?
  5. android访问远程数据库
  6. android uiautomator 截取图片
  7. Android背景渐变
  8. Android(安卓)Building System 总结 收藏
  9. Android开发----自动化测试
  10. Google Android操作系统内核编译图文教程