Bitmapdata大量使用 - 内存灾难(spark / FB4)

时间:2010-04-12 10:03:15

标签: flex actionscript-3 air flex4

我有一个非常好用的flex组件,但不幸的是变成了一个 灾难曾在数据组项目渲染器中使用,大约有40-50个项目。

基本上它使用bitmapdata来获取完全呈现的网页的屏幕截图 mx:HTML(这个版本的webkit晃动btw,比flex 3好几英里。)

我认为代码非常明显。

http://noben.org/show/PageGrabber.mxml

我已尽力优化,浏览,搜索答案并已修剪完毕 它很多,我绝对减少内存使用量(100后大约600mb 绘制)

垃圾收集器影响不大。

谢谢! NIC

3 个答案:

答案 0 :(得分:2)

事件听众会因强烈的反抗而坚持下去吗?尝试删除侦听器或使用弱引用。看看是否有帮助

答案 1 :(得分:2)

当你完成它们时,你需要打电话给BitmapData.dispose(),你不能把它们扔掉并希望它们被收集起来。有时它们会,但通常不会:'(

答案 2 :(得分:1)

你有没有处置smallBMD?您可能希望确保它们不会在内存中累积,在使用后挥之不去,因为每次调用passoire_completeHandler时都会创建一个新的,而不会丢弃前一个(据我所见)。