1

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

4

1 回答 1

8

最终BitmapData将被垃圾收集器处理掉。

调用BitmapData.dispose()会立即释放内存,这可以提高性能,尤其是在基于帧的动画中大量使用位图数据时。位图数据会很快消耗大量内存。

BitmapData,来自 Adob​​e Flash 平台的 ActionScript 3.0 参考

BitmapData.dispose() 立即释放实际位图数据占用的内存(位图最多可消耗 64 MB 内存)。使用 BitmapData.dispose() 后,BitmapData 对象不再可用,如果您调用 BitmapData 对象上的函数,Flash 运行时将引发异常。但是,BitmapData.dispose() 不会垃圾收集 BitmapData 对象(大约 128 个字节);实际 BitmapData 对象占用的内存在垃圾收集器收集 BitmapData 对象时被释放。

于 2012-07-03T03:33:18.890 回答