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();
(2)子域var loaderContext:LoaderContext;
loaderContext.applicationDomain =new ApplicationDomain(ApplicationDomain.currentDomain);
(3)同一个域 var loaderContext:LoaderContext;
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
8.RSL(Run-time Shared Libraries)
RSL是在Application之外的一个库,这个库只下载一次,可以被多个Application公用。
好处:(1)Application的size变小了(2)只下载一次节约时间
RSL有两种link方式(1)staic linking所有的类都被打到同一个包中,这样快,但是swf会很大。(2)dynamic linking,额
外的类被打到一格swf中,在运行时链接。
RSL分为3类:(1)Standard RSL同一个domain中多个Applications公用(2)Cross-domain RSL跨域公用(3)Framework RSLs
:Flex框架本身的rsl。
standard rsl和cross-domain rsl存在于浏览器的缓存中,而framework rsl存在于flashplayer的缓存中。
9.更好的应用设计
10.高效的使用容器。
每一个新的容器都包含计算位置,大小和样式。动态计算则需要更多的工作量。
11.使用绑定还是事件?
12.Array还是ArrayCollection
13.利用延迟加载
14.内存使用,抗压性,可用性
flash.system.System.totalMemory
Doing the following is beneficial:
Stop other heavy processes on your machine.
Avoid using debug on the Flash Player.
Switch the trace and logging options off.
Switch any hardware or operating system–level factors that affect memory allocation to the
Flash Player.
Flex性能调优相关的一些总结的更多相关文章
- tensorflow 性能调优相关
如何进行优化tensorflow 将极大得加速机器学习模型的训练的时间,下面是一下tensorflow性能调优相关的阅读链接: tensorflow 性能调优:http://d0evi1.com/te ...
- Java虚拟机性能调优相关
一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动 ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat.hprof等小巧的工具,本博客希望 ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解(转VIII)
JVM本身就是一个java进程,一个java程序运行在一个jvm进程中.多个java程序同时运行就会有多个jvm进程.一个jvm进程有多个线程至少有一个gc线程和一个用户线程. JDK本身提供了很多方 ...
- 【Java/Android性能优3】Android性能调优工具TraceView使用介绍
本文转自:http://blog.csdn.net/innost/article/details/9008691 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是 ...
- JVM性能调优监控命令jps、jinfo、jstat、jmap+jhat、jstack使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jinfo.jstat.jmap+jhat.jstack等小巧的工具,本博客希望能起抛砖 ...
- 《转》:JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
原链接:https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 ...
- 【转】JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
http://www.cnblogs.com/therunningfish/p/5524238.html JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsol ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat, hprof使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat等小巧的工具,本博客希望能起抛砖引玉之用,让 ...
随机推荐
- column name is keyword from
mysql: select tablename.from from tablename; postgresql: select "from" from tablename; sql ...
- js 选项卡
<html><head lang="en"> <meta charset="UTF-8"> <title>Tab ...
- 深度学习 for java http://deeplearning4j.org/
http://deeplearning4j.org/ http://deeplearning4j.org/zh-neuralnet-overview
- iOS JsonModel
iOS JsonModel 的使用 本文转自:http://blog.csdn.net/smking/article/details/40432287 下面讲一下JSONModel的使用方法. @in ...
- HDU 2498 Digits
水题.题目这样定义的,另f(x)为x有几位,x[i]=f(x[i-1]); 求最小的i使得x[i]==x[i-1] #include<cstdio> #include<cstring ...
- Openlayers实现第一张地图
<html><head><title>OpenLayers Hello World</title> <style type="text/ ...
- Sping--Id, Name
bean, id/name 都可以 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...
- 自己实现的sax XML解析,可能会有误
package com.agatha.bean; public class OrderInfoBean { private String order_id; private String room_t ...
- iOS 页面跳转,离开之前pop掉navigationController栈中的页面
http://blog.csdn.net/worldzhy/article/details/41312713 - (void)viewDidDisappear:(BOOL)animated { //因 ...
- C#设计模式(6)——原型模式
一.概念 二.模型 三.代码实现 ///火影忍者中鸣人的影分身和孙悟空的的变都是原型模式 class Client { static void Main(string[] args) { // 孙悟空 ...