Bitmap 的内存自动回收机制不是那么理想,往往要自己处理(这也是官方文档的建议),一般来说,要 遵循以下原则: 1.临时的,已经没用的 bitmap 对象要及时调用 recycle() 释放,例如: mBitWallPaper.recycle(); mBitWallPaper = null; System.gc(); //可选 2.Activity中的Bitmap对象,如果是成员变量,需要在onDestroy()中明确释放。 因为,即使在Activity调用Finish()结束后,虚拟机都不会立即回收Bitmap的内存(什么时候回收不得 而知),所以如一个Activity 中会创建一个很大的Bitmap,在Activiy结束后没有明确释放,多次调用 这个Activity后,容易发生内存溢出错误。