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等小巧的工具,本博客希望能起抛砖引玉之用,让 ...
随机推荐
- Cordova插件开发
我在网上找了很多关于Cordova插件开发的例子,都不是我想要的,我只想要,怎么调用这个生成出来的js,最终得到了最为直接又简单的方法,希望给能帮助到大家! document.addEventList ...
- CodeForces 590B Chip 'n Dale Rescue Rangers
这题可以o(1)推出公式,也可以二分答案+验证. #include<iostream> #include<cstring> #include<cmath> #inc ...
- IO口输入输出模式理解
1.IO输入输出模式 2.有上拉,下拉,弱上拉,推挽,开漏输出:不同的单片机有不同的输出模式 3.以最简单的51单片机为例 P0:开漏型双向IO口,通常需要添加外部上拉电阻 P1~P3:准双向IO口, ...
- 已有 JS 模块化和打包方案收集
模块化方案 RequireJS AMD 方案, 常用的 define 语法, 异步加载模块, 目前很多支持: 官网 http://requirejs.org/ Github https://githu ...
- php 语法中有 let 吗?
来源:http://stackoverflow.com/questions/9705281/with-and-let-in-php use(&$a) 用 use ($parameter) 这种 ...
- eclipse java生成exe
eclipse导出jar文件再将它转换成exe可执行文件详解 关键字: 欢迎光临 此文章是为了帮助刚接触j2se或不懂如何打包jar文件的人而着笔,同时也是让自己的知识以文章的形式保存起来. 一.导出 ...
- POJ 1696 Space Ant
极角排序 每次选择一个最外围的没选过的点,选择的时候需要利用极角排序进行选择 #include<cstdio> #include<cstring> #include<ve ...
- 关于IP网段间互访的问题—路由是根本(转)
源: 关于IP网段间互访的问题—路由是根本
- iOS 消息推送原理及实现总结
在实现消息推送之前先提及几个于推送相关概念,如下图:1. Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务 ...
- Cookie和Session的区别、优缺点
1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session 3 ...