0

这是我的问题:

我有一个从本地机器上传文件的 Flash swf,如果它们是图像,它会根据需要调整它们的大小。这涉及从 bitmapData 对象创建一个 JPGEncoded bytearray。在我完成了 bitmapData 之后,我 dispose() 了它。

我注意到有时在调整图像大小时闪存会卡住,并且已将其追踪到“无效的 bitmapData”错误消息。我昨晚下班前试过了,它在两张图片后抛出了这条消息!!今天早上一切似乎都很好,所以我决定推送它并尝试上传 20 张 5616x3744 像素和 5.32MB 的图像(我之前尝试过的相同图像)。

我在 Windows 中打开了性能监视器,并开始在 mozilla + firebug 中运行的 SWF 中上传,以取得良好的效果。大约 12 张图像效果很好,然后在 13 日(!!)它再次冻结。我附上了性能图的截图。

替代文字

我猜我需要做更多这样的测试,看看哪里有问题。谁能解释一下我在这里看到的可能会导致问题的东西 - 黄线看起来很可疑!(?)

我认为大的绿色尖峰对应于重绘 bitmapData,较小的绿色尖峰是在大版本成功加载后从同一个 Bitmap 对象绘制缩略图版本。我应该使用哪些其他计数器来监视内存使用情况等。

任何建议表示赞赏。非常感谢

4

1 回答 1

0

你的像素太多了,仅此而已。在 Flash Player 10 中,位图的最大像素数为 16,777,215(或 0xFFFFFF)。此外,最大宽度或高度为 8,191,只要总像素数低于最大值即可。您的测试位图有 21,026,304,远远超过顶部。

于 2010-12-17T10:52:14.957 回答