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等小巧的工具,本博客希望能起抛砖引玉之用,让 ...
随机推荐
- Memory
A - Memory Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%lld & %llu Submit Sta ...
- JQuery中的相反的地方
1.on和delegate的参数顺序相反 2.each和map参数也是相反的
- 简单制作 OS X Yosemite 10.10 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
原文地址: http://www.iplaysoft.com/osx-yosemite.html 简单制作 Mac OS X Yosemite 正式版 USB 启动盘的方法教程: 其实制作 OS X ...
- How difficult is it to create a JavaScript framework?
分享来自 quora 的一篇文章 https://www.quora.com/How-difficult-is-it-to-create-a-JavaScript-framework https:// ...
- tcpdump的表达元
(nt: True 在以下的描述中含义为: 相应条件表达式中只含有以下所列的一个特定表达元, 此时表达式为真, 即条件得到满足) dst host host如果IPv4/v6 数据包的目的域是host ...
- [Unity Socket]在Unity中如何实现异步Socket通信技术
在刚刚开发Unity项目的过程中,需要用到即时通信功能来完成服务器与客户端自定义的数据结构封装. 现在将部分主要功能的实现代码抽取出来实现了可以异步Socket请求的技术Demo. 客户端脚本Clie ...
- 顽强的的砂锅之——深究finally代码块与return语句的执行顺序!
当问到finally代码块的执行顺序,就算刚刚学编程的小白都能毫不犹豫的说出答案:不管异常发生与否,finally语句块的代码一定会被执行!大体上这样讲是没有错,但是finally块中的代码一定会有效 ...
- ajax常用写法
$.ajax( url,{ type:"post", data:{},}) .done(function() { alert("success"); }) .f ...
- 《玩转Bootstrap(基础)》笔记
基本的HTML模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Bootstrap兼容处理
接将一下代码引用到页面 </body> 之前 <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js" ...