使用Adobe Flex Builder构buildiOS应用程序 – 性能问题

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

通过最初的testing,我发现最终的结果并不像本地代码那样丰富,也不是那么快或者stream畅。

不要简单地说'为什么不使用objective-c',是否有任何文档来说明这样构build应用程序的开销?

具体来说,使用Adobe平台代替时,您会期望什么样的性能?

确保您正在使用最新的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和黑莓,Flash的无所不在的部署能力也应该考虑到多平台。

也许引用你的实现的具体问题将有助于产生洞察力。

我也一直在开发一个基于Flash的iOS应用程序。 我最初的原型在iPad 1中是无用的。我不得不寻找优化的方法。 我的第二个原型performance相当好。 所以这里有一些指针。

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

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

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

4)不要使用比屏幕区域大得多的可视对象。 如果你需要在整个屏幕上使用大对象,那么把它们从显示列表中pipe理出来,学习blitting技术,只画出当时显示的矩形。 李Brimlow有一些好的入门教程。

5)pipe理事件要非常谨慎。 确保你总是删除不再需要的监听器。

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

如果你遵循这些指针,你的应用程序将和其他任何地方一样快。