`
three_uncle
  • 浏览: 59536 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

优化 ActionScript 性能

    博客分类:
  • Flex
阅读更多

原文地址http://livedocs.adobe.com/flashlite/2_cn/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000089.html

留下日后慢慢看。


由于大多数移动设备在处理速度和内存方面都有一定的限制性,因此在开发适用于移动电话中使用的 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 在查找对不存在的变量的引用时速度非常缓慢,这会显著影响应用程序的性能。

 

分享到:
评论

相关推荐

    ActionScript3 性能调整 英文

    在IT领域,特别是针对Flash开发和ActionScript 3(AS3)编程的环境中,性能优化是确保应用程序流畅运行的关键。本文将深入探讨AS3性能调整的方法、原理以及实践中的注意事项,帮助开发者理解如何提高其应用的执行...

    ActionScript

    10. **优化与调试**:了解性能优化技巧,如减少不必要的计算、使用位运算等,以及如何利用ActionScript的内置调试工具,可以帮助开发者提高代码质量和运行效率。 通过深入学习和实践这些ActionScript开发技术,你...

    ActionScript2.0

    10. **ActionScript 2.0与ActionScript 3.0的区别**:了解两者的差异,如性能改进、新的类库和编程模型,对于升级到更现代的Flash开发是必要的。 通过这个"ActionScript2.0"教程,初学者将能够掌握编写高效、交互性...

    ActionScript开发技术大全

    8. **性能优化**:提供优化ActionScript代码的技巧和策略,以提高应用程序的运行效率和用户体验。 9. **最佳实践**:分享开发ActionScript应用程序时的最佳实践,包括代码组织、命名规范以及项目管理。 通过...

    Actionscript中文帮助文档

    13. **调试和优化**:了解如何使用ActionScript编译器和调试工具来检测和修复代码问题,提升程序性能。 这个中文帮助文档将详细介绍这些概念,并提供详细的API参考,帮助开发者快速查找和理解ActionScript 3.0中的...

    ActionScript基础教程,是学习actionscript的入门级教程

    有效的调试和性能优化是任何开发项目的关键。ActionScript提供了一系列工具和方法,帮助开发者识别和修复代码中的错误,并对应用进行性能调优。 #### 十、集成与扩展 ActionScript不仅可以独立使用,还可以与其他...

    ActionScript权威指南.pdf

    12. **优化与性能**:提供最佳实践和技巧,帮助开发者编写高效、优化的代码。 13. **调试和测试**:介绍使用Flash Professional或独立的ActionScript编译器进行项目调试和测试的方法。 通过学习《ActionScript权威...

    ActionScript 2.0 3.0完全手册

    6. 性能优化:提供最佳实践和技巧,以提升ActionScript应用程序的性能。 7. 调试和测试:介绍如何使用Flash Professional或独立的调试器来查找和修复ActionScript代码中的错误。 8. 社区和资源:引导读者了解...

    actionscript 3.0动画制作教程

    9. **性能优化**:在制作大型或高性能要求的动画时,了解如何优化ActionScript代码变得至关重要。这包括减少不必要的计算,使用位图缓存,以及正确管理内存。 通过深入学习和实践本教程中的例子,你将能够熟练掌握...

    Foundation ActionScript 3.0 Animation

    8. **优化与性能**:书中可能还会讨论如何优化代码,减少内存占用,提高动画的运行效率,这对于大型或复杂项目尤其重要。 通过阅读《Foundation ActionScript 3.0 Animation》,读者不仅能掌握ActionScript 3.0的...

    ActionScript语句中文全解

    2. Profiler:ActionScript提供性能分析工具,帮助优化代码执行效率。 通过《ActionScript语句中文全解》这份资料,你可以全面了解和掌握ActionScript的各个方面,无论是初学者还是有经验的开发者,都能从中受益。...

    视频播放器 开源 待完善 ActionScript3.0

    他们可以学习到如何在ActionScript3.0中实现视频播放器的基本功能,并且可以根据需求继续完善项目,例如添加缺失的功能,优化性能,或者将其与现有的Flash项目整合。 总的来说,这个开源项目提供了一个动手实践的...

    actionscript3.0

    开发者将学习到如何创建自定义组件、使用网络服务(如XML和AMF)以及如何调试和优化ActionScript代码。 总之,ActionScript 3.0是一个强大且功能丰富的脚本语言,为创建互动性强、视觉效果出色的Web应用程序提供了...

    actionscript

    ActionScript 3.0 是一种基于ECMAScript for...7. **高级主题**:可能包括声音和视频处理、本地存储、性能优化等。 通过深入学习和实践这个教程,初学者可以全面了解ActionScript 3.0,并具备开发富互联网应用的能力。

    ACTIONSCRIPT 3.0 组件中文版

    7. **优化和性能**:了解如何有效地使用组件以优化性能也至关重要。合理地组织代码、减少不必要的计算和更新,以及利用组件的缓存机制,都是提高应用运行效率的有效手段。 8. **调试和测试**:在开发过程中,使用...

Global site tag (gtag.js) - Google Analytics