gpt4 book ai didi

android - 如何加速 Flex Mobile 并提高其性能

转载 作者:行者123 更新时间:2023-11-30 03:15:46 28 4
gpt4 key购买 nike

我有一个非常简单的应用程序,它在 PC 上运行良好,但在我的平板电脑(Samsung Galaxy Tab 3、SM-T210)上运行“可以接受”——虽然不是很多。这是一个非常简单的应用程序,所以我认为它从第一天起就会运行良好,但事实并非如此。我见过一些真正足智多谋的应用程序——我的甚至无法与之相比——在平板电脑上运行得非常快速和流畅。所以我一直在想如何实现这一目标。

我听说您可以使用 Stage3D、Starling 或 Feathers 来加速您的 flex 应用程序。我认为对于大多数框架,我将不得不重写我的应用程序的一部分,因为我将不得不使用框架的组件来使应用程序运行得更快。不过,我不知道我的看法是否正确。这是正确的吗?

有没有一种方法可以使用这些框架之一来加速我的 Flex Mobile 应用程序,而无需重写大部分代码?如果是这样,你能告诉我怎么做吗?

预先感谢您的帮助。

问候,

塞巴斯蒂安

需要解决方案

Rod 陈述的每条提示都非常重要。它将提高构建良好的应用程序的性能并使其平稳运行。这些提示的问题在于,它们是冰山较小的“一半”,而不是较大的“一半”。

我的应用程序从一个 View 到另一个 View 的转换非常缓慢,这是因为我没有“尊重”Flex 的组件生命周期。我的意思是,在将组件添加到 View 的 DisplayList 并通过验证后,我正在执行组件配置操作。此外,在触发方法 INITIALIZED 事件后,我以编程方式将子项添加到 View 中。这使得 View 需要更多时间来重新计算其子项的属性并向其 DisplayList 添加更多组件,即使在其生命周期的该部分应该完成之后也是如此。这使得渲染到最终状态需要更多时间,因此中断了从 View 到 View 的转换。我需要做的是在将组件添加到 DisplayList 之前配置组件,并在完成 createChildren() 方法之前将更多组件添加到 View 。

至少根据我的经验,达到“正常”性能的最佳和首要建议是遵守生命周期准则。尊重流程的构造、配置、附件和初始化部分,你会没事的。如果您不这样做,Rod 提到的所有建议都无法让您的应用程序顺利运行。

诚然,仅遵守生命周期是无法让您的应用发挥最佳性能的。为此,您肯定需要前面提到的建议,但这些提示,我称之为冰山的第二部分。首先,代码遵循组件生命周期的指导方针;其次,遵循 Rod 的所有提示。有了这两个,您将拥有一个运行速度快如闪电的应用程序。

最佳答案

在我的 Flex-Mobile 应用程序中,我没有尝试使用任何框架。为了优化我的应用程序,我正在执行以下提示:

  • 在 AS 上编写项目渲染器
    • 子类 LabelItemRendererIconItemRenderer
    • 避免复杂的绑定(bind)
    • 将 autoDrawbackground 设置为关闭
  • 在 Spark Image 上使用 BitmapImage
    • 使用 PNG 而不是 JPEG 或 GIF。它需要更少的图像解码和渲染时间
  • 文本 - 使用 StyleableTextfield(只能在 AS 中使用)
  • 在AS中编写皮肤(扩展MobileSkin)
  • 在 AS3 而不是 MXML 中编写自定义组件
  • setElementSize 比设置宽度和高度便宜
  • setElementPosition 比设置 x 和 y 属性便宜
  • 使用轻量级组件(即 Label)
  • 使用 cacheAsBitmap 属性
    • 不经常变化但经常重绘的组件
    • 可以缓存为位图以优化渲染时间
  • 不要使用BorderContainer,使用Group + Rect
  • 减少嵌套组的数量
  • 使用 Scroller.viewport 而不是 Scroller.verticalScrollbar

关于android - 如何加速 Flex Mobile 并提高其性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20153515/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com