Actionscript 动作脚本:奇怪的警报窗口“;脚本正在导致……”;

Actionscript 动作脚本:奇怪的警报窗口“;脚本正在导致……”;,actionscript,Actionscript,这部电影中的一个脚本导致Adobe Flash Player 10运行缓慢。等等 正在获取此警报窗口 有可能以某种方式避免这种情况吗 也许在某个地方每秒的操作有限制?也许我应该在AS3中创建一个具有适当间隔的队列 为什么会出现此消息具体取决于哪些因素? 谢谢;) 更新 嗯,好像是某个地方的内存泄漏,我想是因为它。 垃圾收集器很糟糕DFlash中的垃圾收集器是一种非常狡猾的野兽。关键在于仔细清理对对象的所有引用,包括任何事件侦听器和对象内容。我只在处理粒子系统时才真正看到这个错误,因为粒子没有被正

这部电影中的一个脚本导致Adobe Flash Player 10运行缓慢。等等

正在获取此警报窗口

有可能以某种方式避免这种情况吗

也许在某个地方每秒的操作有限制?也许我应该在AS3中创建一个具有适当间隔的队列

为什么会出现此消息具体取决于哪些因素?

谢谢;)

更新

嗯,好像是某个地方的内存泄漏,我想是因为它。
垃圾收集器很糟糕D

Flash中的垃圾收集器是一种非常狡猾的野兽。关键在于仔细清理对对象的所有引用,包括任何事件侦听器和对象内容。我只在处理粒子系统时才真正看到这个错误,因为粒子没有被正确地处理


此错误也可能出现在IDE中,由第三方扩展引起,因此请在浏览器中测试您的swf,以确保这是您的错误

这不是垃圾收集器问题。垃圾收集最多会暂停您的SWF一小段时间。要么你正在执行一个耗时很长的动作(在一个巨大的图像或其他东西上的像素操作行中,或者在一个循环中执行繁重的操作),要么你进入了一个无限循环


您能提供更多关于SWF是什么以及它在做什么的信息吗?

由于调试日志记录,实际上发生了泄漏。只是把它关掉,然后重新编译。不管怎样,在做了很多操作之后,我得到了消息。没有使用CPU,也没有内存泄漏。是否有某个缓冲区溢出?不,我已重新检查了所有内容。正如DivillyUsages所说,在大位图上进行像素比较等繁重工作可能会导致在一帧中执行太多操作。如果您可以识别导致错误的操作,则可以使用enterFrame事件将它们分离出来。我使用的是网络组,并通过网络组方法SendtonArrest在按键上发送数据。当收到游戏数据时,如果需要,我会将其进一步路由,或者通过ExternalInterface传递给javascript。如果我理解这一点:在一个SWF中,您会收到一个按键,它会将数据发送到组中最近的另一个SWF。如果您收到来自另一个SWF的消息,那么您要么将其进一步路由,要么将其传递给JS?如果组中只有一个SWF,会发生什么情况?您是继续(连续)路由它,还是阻止不来的响应?如果您收到一条消息,并且需要进一步路由它,您如何知道何时停止它?有一个布尔值If(info.fromLocal==true),那么该消息是给我们的。否则,请进一步转发。是否可以尝试禁用转发以查看这是否是问题所在?