Android资源:从资源加载的位图如何以内存方式处理?

时间:2012-03-19 12:01:50

标签: java android memory imageview

从这样的资源加载位图时:

iv.setImageResource(R.drawable.image);
  1. 如果Scalemap的质量降低了位图,它是否仍然保存整个原始位图? (我猜是的,因为人们可以动态改变Scaletype,你会希望拥有完整的质量。)
  2. 如果您将相同的资源ID加载到多个ImageView中,是否只有一个位图存储在内存中?
  3. 在onDestroy中扫描视图层次结构并手动回收这些位图(通过从ImageView中提取BitmapDrawable)是不错的做法,还是我可以确定这是由系统及时完成的​​?

1 个答案:

答案 0 :(得分:0)

  1. 是的,它将保持完整的质量。
  2. 不,它会维护一个对象。
  3. 这将由系统完成。没必要打扰。但是,它等到一些缓冲区充满了用于调用GC的数据。一旦缓冲区填充了不需要的数据,那么一次将从内存中删除对象。如果你还想要,你可以保重。