我有一个非常简单的应用程序,它可以在PC上运行得很好,但在我的平板电脑(三星Galaxy Tab 3,SM-T210)上运行'可接受' - 不是很多。这是一个非常简单的应用程序,所以我认为它从第一天起就会运行得很好,但事实并非如此。我已经看到了一些非常资源丰富的应用程序 - 甚至无法与它们进行比较 - 在平板电脑上运行非常快速和顺畅。所以我一直在想如何实现这一目标。
我听说你可以使用Stage3D,Starling或Feathers加速你的flex应用程序。我认为对于大多数框架,我将不得不重写部分应用程序,因为我必须使用框架的组件来使应用程序运行得更快。我不知道我是否正确。这是对的吗?
有没有办法使用其中一个框架来加速我的Flex Mobile应用程序,而无需重写我的代码的大部分内容?如果是的话,你能告诉我怎么做吗?
提前感谢您的帮助。
此致
圣塞瓦斯蒂安
需要解决方案
罗德所说的每一个提示都非常重要。它将改善构造良好的应用程序的性能并使其顺利运行。这些提示的问题在于它们是冰山的较小“一半”而不是更大的“一半”。
我的应用程序从一个View转换到另一个View非常缓慢,这是因为我并没有“尊重”Flex的组件生命周期。我的意思是,在将组件添加到View的DisplayList并进行验证后,我正在执行组件配置操作。此外,我在触发方法INITIALIZED事件后以编程方式将子项添加到视图中。这使得View需要更多的时间来重新计算其子项的属性,并向其DisplayList添加更多组件,即使它的生命周期的那一部分应该完成。这使得渲染到最终状态需要更多时间,从而中断从View到View的转换。我需要做的是在将组件添加到DisplayList之前配置组件,并在createChildren()方法完成之前向View添加更多组件。
至少根据我的经验,达到“正常”表现的最好和第一个建议是遵守生命周期的指导方针。尊重过程的构造,配置,附件和初始化部分,你会没事的。如果您不这样做,Rod提到的所有建议都不会有助于您的应用程序顺利执行。
确实,只有遵守生命周期,您才能使应用程序达到最佳性能。为此,你肯定需要前面提到的建议,但这些技巧,我称之为冰山的第二部分。首先,代码遵循组件生命周期的准则;第二,遵循Rod的所有提示。有了这两个,你将拥有一个快速运行的应用程序。
答案 0 :(得分:1)
在我的Flex-Mobile应用程序中,我没有尝试过使用任何框架。为了优化我的应用程序,我正在做以下提示:
LabelItemRenderer
或IconItemRenderer
BitmapImage
MobileSkin
)setElementPosition
比设置x和y属性便宜BorderContainer
,请使用Group + Rect
Scroller.viewport
代替Scroller.verticalScrollbar
答案 1 :(得分:0)
您的应用中是否有列表?你可以重写ItemRenderers等。
答案 2 :(得分:0)
罗德所说的每一个提示都非常重要。它将改善构造良好的应用程序的性能并使其顺利运行。这些提示的问题在于它们是冰山的较小“一半”而不是更大的“一半”。
我的应用程序从一个View转换到另一个View非常缓慢,这是因为我并没有“尊重”Flex的组件生命周期。我的意思是,在将组件添加到View的DisplayList并进行验证后,我正在执行组件配置操作。此外,我在触发方法INITIALIZED事件后以编程方式将子项添加到视图中。这使得View需要更多的时间来重新计算其子项的属性,并向其DisplayList添加更多组件,即使它的生命周期的那一部分应该完成。这使得渲染到最终状态需要更多时间,从而中断从View到View的转换。我需要做的是在将组件添加到DisplayList之前配置组件,并在createChildren()方法完成之前向View添加更多组件。
至少根据我的经验,达到“正常”表现的最好和第一个建议是遵守生命周期的指导方针。尊重过程的构造,配置,附件和初始化部分,你会没事的。如果您不这样做,Rod提到的所有建议都不会有助于您的应用程序顺利执行。
确实,只有遵守生命周期,您才能使应用程序达到最佳性能。为此,你肯定需要前面提到的建议,但这些技巧,我称之为冰山的第二部分。首先,代码遵循组件生命周期的准则;第二,遵循Rod的所有提示。有了这两个,你将拥有一个快速运行的应用程序。