是否需要为每个想要完全从内存中删除的BitmapData调用BitmapData.dispose(),或者一旦BitmapData对象被垃圾收集,该缓冲区是否会被释放?
答案 0 :(得分:8)
最终BitmapData
将通过垃圾收集处理。
调用BitmapData.dispose()
可以立即释放内存,这可以提高性能,尤其是在基于帧的动画中大量使用位图数据时。位图数据可以快速消耗大量内存。
BitmapData, from the ActionScript 3.0 Reference for the Adobe Flash Platform
BitmapData.dispose()释放实际位图占用的内存 数据,立即(位图可以消耗多达64 MB的内存)。后 使用BitmapData.dispose(),BitmapData对象不再可用 如果你调用函数,Flash运行时会抛出异常 BitmapData对象。但是,BitmapData.dispose()不会垃圾 收集BitmapData对象(大约128个字节);记忆 被实际的BitmapData对象占用的时候就被释放了 垃圾收集器收集BitmapData对象。