使用Adobe Flex Builder构建iOS应用程序 - 性能问题

时间:2011-10-24 19:58:08

标签: iphone ios performance flex

我正在使用Adobe Flex构建器为iOS构建应用程序,并使用Adobe工具将其编译为.ipa。

通过初步测试,我发现最终结果并不像本机代码那样丰富,也不是那么快或顺利。

如果不简单地说'为什么不使用objective-c',那么有没有关于以这种方式构建应用程序的开销的文档?

具体来说,使用Adobe的平台可以期待什么样的性能?

2 个答案:

答案 0 :(得分:8)

确保使用最新的AIR 3.0 SDK for iOS打包。它的性能显着提高。

在开发应用时考虑最佳做法:

http://www.adobe.com/devnet/flash/articles/optimize_content_ios.html

http://help.adobe.com/en_US/as3/mobile/flashplatform_optimizing_content.pdf

http://www.mikechambers.com/blog/files/presentations/fitc_amsterdam_2010/flash_iphone_fitc_2010.pdf

与原生Objective-C的毯子比较是一个广泛的主题,如果您的目标是Android和BlackBerry,那么也应该考虑将Flash无处不在地部署到多个平台的功能。

或许引用您实施的具体问题有助于提供洞察力。

答案 1 :(得分:6)

我也一直在开发基于Flash的iOS应用。我的初始原型在iPad 1中没用。我必须寻找优化方法。我的第二个原型表现相当不错。所以这里有一些指示。

1)不要使用计时器。我不得不编写自己的实用程序“FrameWorker”Singleton类来管理和委托我的所有动画,甚至将动作延迟到单个enterFrame事件。仅这一点就会给你带来巨大的速度提升。

2)不要在不同的对象上使用很多enterFrame事件。正如我在第一点所述,找到一种方法来使用一个可以添加和删除进程的单个enterFrame。

3)尽可能避免使用矢量 - 使用图像。如果需要在Flash IDE中或通过操作脚本绘制对象,请使用cacheAsBitmap = true。

4)不要使用比屏幕区域大得多的视觉对象。如果您需要在屏幕上使用大型对象,请在显示列表中管理它们并学习blitting技术,以便仅在当时将显示的rect上绘制到屏幕。 Lee Brimlow有几个很好的入门教程。

5)对管理事件要非常自律。确保总是删除不再需要的侦听器。

6)将应用的负载分配到不同的帧。不要在一个框架上做太多密集的事情。

如果您按照这些指示操作,那么您的应用程序将与其他应用程序一样快。