【问题标题】:Building an iOS app with Adobe Flex Builder - Performance Issues使用 Adob​​e Flex Builder 构建 iOS 应用程序 - 性能问题
【发布时间】:2011-12-14 10:30:35
【问题描述】:

我正在使用 Adob​​e Flex builder 构建适用于 iOS 的应用程序,并使用 Adob​​e 的工具将其编译为 .ipa。

通过初步测试,我发现最终结果不如原生代码丰富,也没有那么快或流畅。

没有简单地说“你为什么不使用 Objective-c”,是否有任何文档说明以这种方式构建应用程序的开销?

具体来说,当使用 Adob​​e 平台时,您可以期待什么样的性能影响?

【问题讨论】:

  • 我投票结束;因为这是一个非常笼统的问题。但是,正如@jason Sturges 建议的那样,如果您有具体问题,请通过编辑此问题或发布新的具体问题进行详细说明。
  • 结束问题,因为它们不是非常具体,会阻止有用的答案。这是今晚我第二次看到“Flextras.com”与提出有用的问题有关而被关闭。请不要。

标签: iphone ios performance apache-flex


【解决方案1】:

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

1) 不要使用计时器。我必须编写自己的实用程序“FrameWorker”Singleton 类来管理和委派我的所有动画,甚至将动作延迟到单个 enterFrame 事件。仅此一项就可以极大地提高您的速度。

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

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

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

5) 在管理事件时要非常自律。例如,确保您始终删除不再需要的侦听器。

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

如果您遵循这些指示,您的应用程序将与其他应用程序一样快。

【讨论】:

    【解决方案2】:

    确保您使用的是最新的 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 普遍部署到多个平台的能力。

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

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 2020-07-04
    • 2012-07-01
    • 2014-05-07
    • 2017-06-28
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    相关资源
    最近更新 更多