flash和flex虽然都是基于as3的ide,但区别还是很大的,要想百战百胜必然要了解其内部运行机制.搜一篇不错的文章.
原文地址:http://www.cnblogs.com/raywalker/archive/2010/12/21/1912235.html
一. 执行基本原理
Flash平台运行时在一个循环中执行,它以划分的“帧”为单位进行处理。于是帧速率即对应着分配给每个帧的时间,如指定帧速率为20帧/秒,则运行时会尝试对每个帧执行1/20秒。即使在时间轴上不存在可以多个帧,单一帧所表现的SWF内容也会被周期性地进行处理。 帧的执行又可划分为2个阶段:
(1)ActionScript 代码的执行(经由 ActionScript Virtual Machine)
(2)显示对象(DisplayObject)的呈现
如果需要执行的代码是要进行比较耗费CPU的密集型计算,那么以上Idle的空闲时间就会被占用掉。帧之间需要用作画图呈现的时间就会被延长,相应的回放帧的速率就会变慢:
因为ActionScript中没有提供多线程的机制进行处理,此时代码运行以及界面绘图的任务需要在单一线程中完成。实际上Actionscript 把耗费CPU的计算分成了各个更小而且独立的段,使之在跨越多个帧的时候也能独立执行。在划分的各个段之间就可以重绘呈现出界面,使后续帧的播放不受打断:
二. 性能优化措施
(1) ActionScript3的资源管理
Grant Skinner 在其Blog的AS3资源管理系列文章中已经较为详细的介绍了FlashPlayer的GC工作原理,以及资源管理时可能出现的问题等。强烈推荐感兴趣的园友可以仔细研究下。
(2)性能改进的办法
1. 利用FlashBuilder的Profile工具发现瓶颈的区域。
2. 重用对象
在涉及到不断重复使用对象时,考虑利用对象池处理。在初始化阶段先创建一定数量的对象并将其存储到一个容器(Array / Vector)对象中。在对象完成操作后,可清除对象的相互引用防止其仍然执行占用CPU(注意不要将对象的引用置为null)。然后把对象放入池中,再次用到时直接从池中检索即可。
3. 注册事件监听器时利用弱引用
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false)
4. 移除已经注册的对应的事件监听器。
5. 自定义的显示对象在重绘之前对引用到的Graphics调用clear()方法,清除先前所画的部分。
<script type="text/javascript"></script>
分享到:
相关推荐
HashMap 7 种遍历方式的性能评测与优化 If / switch 性能评测 switch 性能优化 JVM 性能优化 MySQL性能优化的 50+ 小技巧 Redis 性能优化的 13 个小技巧 . . . 每篇文章图文并茂,附有源码 + 性能评测结果 + ...
MySQL性能优化笔记,
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
JVM性能优化笔记 ------------------------------------------
移动APP性能测试优化整理,包含内存,流畅度,帧率,liuliu
Java程序性能优化 笔记 脑图
详细介绍了mysql的优化方法,资料包里包含word文档,ppt和图片
大学课堂专业笔记,详细,全面,易于理解,适合初学本课程的最佳学习资料,适合专科,本科生,学习开发人员,自学者下载使用,本资料包中还有算法,实验报告等全面的资料;对于考国二,计算机等级考试,软考等都有...
java代码开发代码优化整理笔记,仅供大家学习交流,如有侵权请尽快联系小编,如有不足,可发表评论,谢谢
最优化原理是学习图像处理的数学基础理论。这个文件是浙江大学研究生课程最优化原理的课程笔记。笔记包含最基础的最优化概念、方法,每种方法都有相应的例题供读者理解。
另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,两个4核的CPU整体性能要比8个单核CPU低25%-30%。 可能出现CPU瓶颈的应用有邮件服务器、动态web服务器...
MySQL性能优化课程笔记
Tomcat性能优化可从外部环境和自身调整两方面着手。 外部环境主要是Tomcat所在服务器的运行环境,包括操作系统层面、部署以及Java虚拟机的配置
SQL SERVER 2008 学习笔记:日常维护、深入管理、性能优化。
PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL ... 这些任务 - 编辑、编译、纠正、测试、调试、优化和查询,在不离开 PL/SQL Developer IDE 的情况下都能被完成。
JVM和性能优化学习思维笔记
小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+...
sqlserver优化笔记,自己无聊的时候整理的一些优化笔记
android应用性能优化最佳实践 读书笔记
本人通过对oracle11g的性能优化指南 做了全面的翻译和整理工作,并将每一部分整理成文档,后续会陆续更新,希望对大家有帮助,尤其是不爱看英文原版的朋友特别有帮助。