Flex navigator.pushView很慢

时间:2011-10-27 17:31:48

标签: flex mobile air flex4.5

这是关于优化技术的一般性问题,请我更愿意重写我的大部分代码,因为我将大量代码移到了库中。

我关注的不仅仅是灵活性,因为我使用的方法减少了CPU /内存占用,因此在视图内部性能很快。

我遇到的问题是navigator.pushView看起来很慢,我在editComplete上为视图调用了我的init函数,但我考虑了因为我的init看起来像:

private function init() : void {
  doStuff1();
  doStuff2();
  doStuff3();
}

如何使视图转换顺利进行?这是在移动设备上。

我已经考虑过使用一个计时器来延迟init函数中的所有代码,以便让我们说前3秒没有任何事情发生,并且视图具有它需要的所有帧但看起来似乎并不正确。 / p>

建议将不胜感激!

谢谢,

1 个答案:

答案 0 :(得分:3)

表现真的取决于你在那些" doStuff()"方法。需要考虑的一些事项:

1)当creationComplete()执行时;视图已经渲染一次。你在做什么会导致事情再次自我渲染吗?更改样式以及子组件上的许多属性将导致该子项重新呈现并且通常是视图组件。

很多人使用creationComplete作为构造函数,而实际上,这是构建者风格最差的地方"码。相反,您应该考虑对大多数内容使用preinitialize,或者如果需要在子组件上设置属性则进行初始化。

2)viewActivate在转换发生后执行。所以,也许你应该考虑将代码从creationComplete转移到viewActivate中。有关mobile view's lifecycle的更多信息,请点击此处。