关于flex性能调优相关的一些总结
1.Performace包含4点:
(1)Latency反应时间(2)Scalability:抗压能力(3)Reliablity:稳定性(4)Availability:可用性
2.运行时生命周期:
Flex只有两帧frames:Preload frame 和 application frame。
每一个flex application 是一个MovieClip,因为每个flex application都有SystemManager,他是继承自
flash.display.MovieClip.
Flex application的入口是Application layout的容器,他是继承自UIComponent。
UIComponent->Container->LayoutContainer->Application->WindowedApplication
3.典型的生命周期事件:
add: 组件被添加到容器上(addChild, addChildAt)时发出
preinitialize: 预初始化时发出
initialize: 完成构造,所有属性都被设置完成后发出
creationComplete: 完成构造,属性,测量,布局,绘制后发出
applicationComplete: Dispatched after the Application has been initialized, processed by the LayoutManager,
and attached to the display list.
0:Application 1:inner Container 2:component
preinitializeHandler0 called!
childAddHandler0 called!
preinitializeHandler1 called!
initializeHandler1 called!
childAddHandler1 called!
preinitializeHandler2 called!
initializeHandler2 called!
initializeHandler0 called!
creationCompleteHandler2 called!
updateCompleteHandler2 called!
creationCompleteHandler1 called!
updateCompleteHandler1 called!
creationCompleteHandler0 called!
updateCompleteHandler0 called!
4.创建策略:
每个容器都有如下的创建策略:
all:创建所有的组件
auto:按照默认策略
none:不创建,直到调用createComponentfromDescriptors方法被调用
queued:首先创建所有的容器,然后把孩子依次创建,creationIndex决定初始化顺序,小者优先。
5.检测启动的时间
var recordedTime:Number = getTimer();
6.延迟和顺序创建组件
7.在flex Application中包含另外一个Application
<mx:SWFLoader source="FlexApp2.swf" />
我们经常要把一个swf包含进来,并且调用它的方法。当一个swf被包含进来后,就可以了。SWFLoader有以下几个事件
complete,init,progress,unload。
(1)各自隔离 var loaderContext:LoaderContext;
loaderContext.applicationDomain = new ApplicationDomain(
相关文档:
Flex 中的States(状态)
关键字: flex, states
States 是一套用于创建状态组件的强大工具,也就是说组件可以有多个视图。
使用States 来切换视图可以节约资源
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:states> ......
Flex 对集合的多个字段进行排序
关键字: flex, 排序, 日期排序
因为数组可被多个SortFields 排序,Sort 对象的fields 属性就是一个数组。这些sort 创建一
个层级的结构,所有对象进行分组排序,先根据field 属性里的第一个SortField 对象,再第
一个,以此类推。这个例子代码先根据regions 再states 对集合进行排序:
......
几种导航选项卡
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:ButtonBar dataProvider="myPages">
</mx:ButtonBar>
<mx:ToggleButtonBar dataProvider="myPages">
</mx:ToggleButto ......
1.在<Object>和<embed>中设置flashVars参数
,例如:
<object
id=’mySwf’ classid=’clsid:D27CDB6E-AE6D-11cf-96B8-444553540000′
codebase=’http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab’
height=’100%’ width=’10 ......
将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。
处理,尤其是List、Set、Map及POJO对象值。
在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:
1、Java端
1.1、com.yeeach.HelloWorldService ......