如何延长Flash应用程序的默认超时期限?
时间:2020-03-06 14:20:39 来源:igfitidea点击:
我有一个用Flash编写的应用程序(实际上是用Haxe编写的,可以在SHWX下运行,但是在这里没关系)。我有一个非常复杂的任务,它消耗大量CPU资源,有时执行时间超过15秒。如果发生这种情况,我会收到一条错误消息:"脚本执行的时间超过了默认的15秒超时时间。"一切都崩溃了。
我知道我可以使用延续来阻止这种情况的发生,但是有没有办法延长"默认超时时间"呢?这是一个开发人员工具,响应并不重要。
解决方案
我不确定是否还有其他方法可以完成此操作,但是似乎有一个命令可以入侵SWF,以添加ScriptLimits标记来延长超时时间。
我建议将功能分成较小的块,然后将它们分散在多个框架中。这样,我们可以显示进度动画,并且Flash应用程序不会无响应。因此,例如,如果我们必须循环遍历1000个项目,则在一帧中执行100,然后在下一帧中执行另一百,依此类推,直到全部处理完毕。我不建议黑客入侵瑞士法郎。
另一种方法是通过-swf-lib开关链接基于swfmill的swf并在此处设置此ScriptLimits标记,然后haxe将重新使用它。
在CS3 +中,我们只需在发布时设置swf的"脚本时间限制"属性即可,该属性位于发布设置的Flash标签中