幸好有thor指点,少走了很多的弯路
发现问题的手段还是需要全面的测试和细心的观察
优化的手段是界面和使用资源的优化,这点在很多情况下都是大同小异的
下面是adobe建议的优化要点,记一下以免丢失,flashlite和flash应该有共通之处
优化 ActionScript 性能
由于大多数移动设备在处理速度和内存方面都有一定的限制性,因此在开发适用于移动电话中使用的 Flash Lite 内容的 ActionScript 时,请遵循以下原则:
使 ActionScript 尽量简单。
限制使用的循环数和每个循环包含的代码数。
当不再需要基于帧的循环时,应当立即停止该循环。
尽量避免字符串和数组处理,因为这对 CPU 的消耗很大。
始终尝试直接访问属性,而不要使用 ActionScript getter 和 setter 方法,因为与其它方法调用相比,这两种方法需要更高的开销。
巧妙并更为具体地管理事件。在调用侦听器之前利用一些条件来检查侦听器是否存在(不为 null),以此来使事件侦听器数组更加简洁。
不再需要变量时,请删除变量或将变量设置为 null。这样做可以标记数据,以便进行垃圾回收。删除变量有助于在运行期间优化内存使用情况,因为从 SWF 文件中删除了不需要的资源。删除变量比将变量设置为 null 更好。
有关垃圾回收和内存管理技术的更多信息,请参见管理应用程序的内存。
在进行垃圾回收前,通过调用 removeListener() 从对象中显式删除侦听器。
如果动态调用函数并传递固定的一组参数,则请使用 call(),而不要使用 apply()。
尽量使命名空间(如路径)简短以节省启动时间。包中的每个级别均会被编译为一个 IF 语句,并导致一个新的 Object() 调用,因此路径中的级别较少可以节省时间。
例如,具有 com.xxx.yyy.aaa.bbb.ccc.functionName() 级别的路径会使一个对象针对 com、xxx、yyy、aaa、bbb 和 ccc 被实例化。有些 Flash 开发人员使用预处理器软件,在编译 SWF 之前,将路径简化为一个唯一标识符,如 58923409876.functionName()。
如果应用程序由多个使用相同 ActionScript 类的 SWF 文件组成,则可以在编译过程中从选择的 SWF 文件中排除这些类。这样有助于缩短应用程序的下载时间和降低运行时内存要求。有关更多信息,请参见从编译过程中排除类。
避免使用 Object.watch() 和 Object.unwatch(),因为对象属性的每次更改都要求播放器确定是否必须发送更改通知。
如果在时间轴中的关键帧上执行的 ActionScript 代码需要 1 秒以上方可完成,则应考虑分割该代码,使其在多个关键帧上执行。
在发布 SWF 文件时从代码中删除 trace() 语句。为此,在"发布设置"对话框的"Flash"选项卡上,选择"省略跟踪动作"复选框。
继承会增加方法调用的数量,而且会使用更多的内存:包括所需全部功能的类在运行时要比从超类继承某些功能的类更加有效。因此,您可能需要在类的扩展性和代码有效性间做出一定的设计取舍。
当一个 SWF 文件加载另一个包含自定义 ActionScript 类(例如 foo.bar.CustomClass)的 SWF 文件,然后再卸载该 SWF 文件时,该类定义仍将保留在内存中。为了节省内存,应显式删除已卸载 SWF 文件中的所有自定义类。可以使用 delete 语句,然后指定完全限定类名,如下面的示例所示:
delete foo.bar.CustomClass
限制全局变量的使用,因为如果删除了定义全局变量的影片剪辑,这些全局变量就不会被垃圾回收。
避免使用标准用户界面组件(在 Flash Professional 8 的"组件"面板中提供)。这些组件设计用于在桌面计算机上运行,并未针对在移动设备上运行而优化。
尽量避免深层嵌套函数。
避免引用不存在的变量、对象或函数。与桌面版本的 Flash Player 相比,Flash Lite 2.0 在查找对不存在的变量的引用时速度非常缓慢,这会显著影响应用程序的性能。
分享到:
相关推荐
适合于flex初中级人员,教程性质的,非API性质,基本做flex前台的东西不用愁了。
FlashSocket.IO, 帮助 Flash,Flex和ActionScript客户端连接到 socket.io 服务器的库 FlashSocket.IO支持Flex应用程序和 socket.io 服务器之间通信的Flash 库。真正的web socket通信由我的gimite/web-socket-js项目...
本书主要将如何优化adobe flash平台的性能,包括如何写高效的as3.0代码,图形显示优化,网络优化,SQL性能等
Flash Actionscript 优化指南 Flash Actionscript 优化指南 Flash Actionscript 优化指南 Flash Actionscript 优化指南
Flash通过ActionScript3.0实现拍照功能,并且通过TCP把照片传送到服务的实现源码,文件中包含了客户端与服务端的实现代码。
Flash actionscript作客户端,java作服务器 编写的C/S聊天demo源代码.zip
java netty编写的socket tcp服务器+flash actionscript3编写的游戏客户端 C/S程序游戏源代码
ActionScript2.0,优秀的flash代码教程,帮助您使flash更优化。
全书涵盖客户端ActionScript的整个范畴,将概念应用于实际情况,采用特定的格式协助读者迅速解决特定的问题。读者无须逐页阅读就可以了解底层代码,解决问题,完成任务。本书适合广大从事ActionScript 3.0开发应用的...
[Flash.ActionScript.3.0动画教程]
《ActionScript开发技术大全》 对象交互与事件处理 ActionScript 3.0运动编程 ActionScript 3.0音频编程 ActionScript 3.0本地通信 Flash Player的客户端系统
这个播放器才做到一半 基本功能已全部实现 是基于flash.media.video来实现的 介于老师的问题 实在不想往下做了 里面包含了大量的资料 仅供参考。。
第1章 揭开ActionScript的神秘面纱 第2章 Flash MX的动作面板 第3章 ActionScript编程初步 第4章 影片播放控制 第5章 控制影片剪辑 第6章 影片剪辑属性 第7章 影片剪辑方法 第8章 响应键盘 9章 输入文本和字符串...
本书是国内第一本“面向原因式”(Why-Oriented Book)、全面系统介绍Flash ActionScript 3的书籍。全书共分为5个部分。第一部分:ActionScript 3语言基础;第二部分:ActionScript 3 面向对象编程;第三部分:...
第1篇ActionScript3.0语言基础 第1章ActionScript3.0概述 2 1.1ActionScript概述 2 1.1.1ActionScript环境 2 1.1.2ActionScript3.0特性 3 1.1.3ActionScript3.0代码组织 5 1.2ActionScript3.0API概览 5 1.3小结 8 第...
ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础ActionScript基础
ActionScript3代码规范 ActionScript3代码规范 ActionScript3代码规范