1

我需要运行大约 12 个小时的 flash 动画(swf 文件)。这是为了展览。

由于我无法控制的限制,我从笔记本电脑(目前是 windows vista(!))运行它,但我可以通过 VGA 以 1024x768 分辨率重新安装除 mac os 之外的所有操作系统。

有没有人对此有任何最佳实践/建议的经验?

任何操作系统都会更好,我是否更好地使用仅运行 Flash 播放器的命令行 linux?将 swf 转换为本机代码并运行它会有什么好处吗?

你能想到什么陷阱?

任何建议都非常受欢迎。

注意,我已经看到了Running the Flash Player over long time period的问题,但是我正在寻找有关各种主题的最佳实践和技巧等

如果有人觉得另一个“溢出”会给我更好的建议,请告诉我

感谢您的任何建议

安德鲁

编辑:

刚刚遇到这个: http: //www.adobe.com/devnet/flash/articles/efficiency-tips.html 这里有一些关于优化文件内容的好技巧。

4

2 回答 2

3

在独立播放器中运行它,以提高性能并减少出错的机会。

如果它只是一个时间线动画,或者不使用 ActionScript 的东西,它应该被编译得足够好,你可以让它运行。

如果其中有任何代码,您需要确保其中没有任何泄漏,并实际检查 - 12 小时肯定足以让重大泄漏显现出来!

你跑的是什么东西?

于 2012-10-19T16:01:08.133 回答
3

只是一些一般提示:

  • 确保使用独立 Flash Player 的Release版本(Debug 版本速度较慢且占用更多内存)
  • 当您不再需要事件侦听器时,请始终删除它们,并且为了安全起见,在添加事件侦听器时使用弱引用。
  • 如果要将 .swf 文件加载到主 swf 中,请确保在要卸载 .swf 时调用Loader.unloadAndStop()而不是 Loader.unload()。
  • 在您不断创建新实例的所有类中,如果您确保每个实例占用大量内存,您可以更快地发现内存泄漏。只需在每个类的顶部临时添加一个大的 bitmapData(private var _debugDummy : BitmapData = new BitmapData(2000, 2000);)。然后你可以很快观察内存是否不断增加。无论您做什么,都不要忘记在完成测试后移除这些假人!

这种情况下的具体提示:

  • 建立以更快的速度运行基于时间的逻辑的能力,因此您可以在更短的时间跨度内模拟“12 小时运行”。这将使查找泄漏变得容易得多。
  • 由于这是一个展览,最好将计算机设置为在崩溃时重新启动闪存(或者如果内存不足,则静默退出,这是它意外退出的最常见原因)。我们在我工作的公司为展览所做的是从 Flash 播放器的发布版本创建一个投影仪文件 (.exe)。然后我们在机器上运行了一个小型服务(内部构建),它不断检查投影仪 .exe 是否正在运行。如果不是,它会再次启动它。正如我所说,该服务是内部构建的,但您可能会找到类似的东西。此外,最好将计算机设置为在计算机启动时启动闪存,以防断电并重新启动计算机。如果是展览,你就不能太偏执了:-)
于 2012-10-19T16:38:51.733 回答