AS3:是否需要调用BitmapData.dispose()?

时间:2012-07-03 03:01:47

标签: actionscript-3 flash air garbage-collection bitmapdata

是否需要为每个想要完全从内存中删除的BitmapData调用BitmapData.dispose(),或者一旦BitmapData对象被垃圾收集,该缓冲区是否会被释放?

1 个答案:

答案 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对象。