0

我们的 swf 文件在我们的客户端屏幕上持续播放数天到数月,而无需重新启动。它们中的大多数都可以正常工作,但是在看似随机的时间后,通常在几天到几周之间,部分或全部 Flash 电影将冻结。

该文件每 15 到 30 秒使用 LoadVars 加载到一个文本文件中。过了一会儿,它似乎停止加载文件,只是将所有文本(价格)设置为零。有时 Flash 动画可能会在文本为零时继续播放,但有时它似乎完全冻结在动画的第一帧,因此屏幕的某些部分可能是白色的,就像 Flash 编辑器中的第一帧看起来一样。

一旦我们使用 logmein 远程连接到其中一个设备,它就会再次开始工作,我相信这可能是因为屏幕快速刷新,从而再次启动动画。

我做了一些研究,我发现在硬件加速开启时全屏播放一段时间会导致这种情况发生,但是,关闭硬件加速不是一个选项,因为动画看起来像废话.

Flash 播放器版本或硬件与发生此问题之间似乎没有关联。

那么,有没有办法从动作脚本中检测到 Flash 动画中的异常,或者当它只是冻结时呢?我相信当视频冻结时,actionscript 会继续在后台愉快地运行,尽管这还未经测试。

有没有人有任何想法可以解决这样的问题?最好的解决方案只涉及编辑闪存文件而不是配置我们的客户机器,因为我们有成千上万的设备,并且以任何方式配置它们可能会破坏我们客户的业务。

4

1 回答 1

1

根据我的经验,flash/as2 在长时间运行时没有问题。我参与了创建能够运行超过一个月且没有任何性能问题的应用程序的工作。但是,在应用程序长时间处于活动状态后,很难找到那些令人讨厌的错误,因为它们很难确定并且通常是某些核心功能的一部分。

您很可能有以下一些常见问题:

  • enterframe-functions(在许多情况下你需要delete这些)
  • 错过了清理查找表中的所有内容,使查找在约 100k 次迭代后变慢
  • 未能成功删除加载器
  • 错过了跟踪 setTimeout
  • 向影片剪辑添加太多项目并且不重用旧条目(与查找表相同的问题)
于 2013-05-13T18:16:23.580 回答