`

ActionScript3.0垃圾回收

阅读更多

as3的flash运行器中新增了垃圾回收的机制,即自动从内存中清除一些不可访问的对象。这个过程我们是无法控制的,不过可以通过一个例子来观察这个过程:

 

package
{
  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.utils.Timer;
  import flash.events.Event;
  import flash.events.TimerEvent;
  import flash.system.System;
  public class GarbageCollection extends  Sprite{
     public function  GarbageCollection(){
        vars:Sprite=newSprite;
        s.graphics.beginFill(0,1);
        s.graphics.drawRect(0,0,100,100);
        //addChild(s);
       s.addEventListener(Event.ENTER_FRAME,enterframelistener);
       vartimer:Timer=newTimer(1);
       timer.addEventListener(TimerEvent.TIMER,timelistener);
       timer.start();
    }
    privatefunctiontimelistener(e:TimerEvent):void{
       newTextField();
    }
    privatefunctionenterframelistener(e:Event):void{
      trace('FlashPlayer当前所用内存(字节):',System.totalMemory);
    }
  }
}

 

当输出窗口停止输出信息时就意味着在构造方法中创建的局部变量s被当成垃圾给回收了。

如果将addChild(s)取消注释,s就会被放到场景中,从而不被回收。系统转而回收timelistener里创建的n多没用的newTextField,可以看到:
…省略…
FlashPlayer当前所用内存:3403776字节
FlashPlayer当前所用内存:3407872字节
FlashPlayer当前所用内存:3420160字节
FlashPlayer当前所用内存:2142208字节
FlashPlayer当前所用内存:2146304字节
…省略…
很明显可以看到垃圾回收的过程。

 

 

 

  • 大小: 192.2 KB
  • 大小: 94 KB
分享到:
评论

相关推荐

    ActionScript 3.0语言和组件参考

    9. **其他高级特性**:如垃圾回收机制、类型转换、包结构、访问修饰符等,这些都是ActionScript 3.0中的重要特性,对于编写高效、可维护的代码至关重要。 在"ActionScript 3.0.chm"文件中,你可以通过索引或搜索...

    贪吃蛇游戏--ActionScript3.0版

    合理地管理对象生命周期,避免不必要的计算,以及利用垃圾回收机制,都能提高游戏的运行效率。 通过学习和理解这个ActionScript3.0版的贪吃蛇游戏,开发者不仅可以掌握基本的游戏开发技能,还能深入理解...

    ActionScript3.0入门基础

    - **垃圾回收机制**:理解内存管理,避免内存泄漏。 - **代码优化技巧**:减少不必要的计算,优化循环结构,提高程序运行效率。 总之,《ActionScript 3.0入门基础》教程将引导你逐步了解和掌握这个强大的编程...

    ActionScript 3.0 cookbook中文简体完整版电子书

    9. **性能优化**:提供关于提高ActionScript 3.0程序性能的技巧和最佳实践,包括垃圾回收、内存管理和代码优化。 10. **组件开发**:介绍如何创建自定义组件,以及如何利用Flex SDK或Spark组件模型来扩展应用功能。...

    ActionScript3.0 中文版

    13. 性能优化:AS3.0的垃圾回收机制和优化编译器提高了运行效率,使得编写高性能应用成为可能。 这个中文版的API文档还涵盖了ActionScript3.0的其他关键概念,如包、命名空间、访问修饰符、构造函数、静态成员,...

    ActionScript3.0完全自学手册例子

    10. **性能优化**:了解AS3.0的内存管理机制,如垃圾回收,以及如何减少不必要的计算和绘制,能提升应用的性能。 这个自学手册例子很可能会包含以上这些知识点的实践示例,通过逐步学习和动手实践,你可以全面掌握...

    ActionScript 3.0开发技术大全.zip

    11. **性能优化**:AS3.0相比AS2.0有显著的性能提升,但仍然需要注意内存管理和垃圾回收,避免不必要的对象创建和引用。 12. **动画和时间轴控制**:尽管AS3.0更强调代码驱动的动画,但仍然可以通过时间轴控制实现...

    ActionScript3.0

    此外,AS3还引入了垃圾回收机制,自动管理内存,减轻了开发者的工作负担。 “Cookbook”通常包含许多实际问题的解决方案,这些方案可能包括以下知识点: 1. 类和对象:如何定义和使用自定义类,包括继承、封装和...

    ActionScript 3.0 开发人员指南

    新的垃圾回收机制和更高效的内存管理策略,使得ActionScript 3.0应用程序能够处理更大量的数据和更复杂的计算任务。 #### 3. 事件处理模型 ActionScript 3.0引入了一种更灵活的事件处理模型,允许开发者更细粒度地...

    ActionScript 3.0开发技术大全

    10. **优化技巧**:学习如何编写高效代码,减少不必要的计算,优化内存使用,以及如何利用垃圾回收机制。 通过《ActionScript 3.0开发技术大全》这份资源,开发者可以从零开始,逐步深入学习ActionScript 3.0,掌握...

    ActionScript 3.0 完全自学手册(随书光盘)-- 源文件

    AS3提供了许多优化技巧,例如使用位运算而非常规运算,减少不必要的计算,以及利用垃圾回收机制来管理内存。 通过深入学习这些知识点,并结合提供的源文件进行实践,你可以逐步成为一名熟练的ActionScript 3.0...

    flash actionscript3.0 经典打字游戏

    ActionScript3.0是Flash Professional的重要组成部分,它是一种面向对象的编程语言,基于ECMAScript规范,具备了类型检查和垃圾回收等特性,使得代码更加严谨且运行效率提高。在打字游戏中,ActionScript3.0用于控制...

    使用ActionScript3.0组件

    避免在循环中创建大量组件,合理使用垃圾回收机制,以及正确处理组件的生命周期,都能有效提升应用的运行效率。 综上所述,ActionScript 3.0组件是构建富互联网应用程序的重要工具。通过熟练掌握组件的使用,开发者...

    ActionScript3.0完全自学手册电子教案.rar

    10. **性能优化**:提供ActionScript3.0性能优化技巧,包括代码优化、内存管理、垃圾回收等,以提高应用程序的运行效率。 11. **实战项目**:通过实际的案例,如游戏开发、交互设计等,将所学知识应用到实践中,...

    ActionScript+3.0+Cookbook+中文完整版

    11. **性能优化**:理解垃圾回收机制,合理使用显式垃圾回收,以及避免不必要的计算和内存分配,都能提升AS3应用的性能。 12. **调试与测试**:使用Flash Professional或Flash Builder的内置调试工具,以及独立的...

    ActionScript+3.0编程精髓.pdf

    - **内存管理**:提供了垃圾回收机制,自动管理对象的生命周期,简化了内存管理。 - **性能优化**:采用了新的虚拟机,显著提高了执行速度和内存效率。 #### Flash Player API功能 - **多媒体处理**:支持音频、...

    ActionScript3.0程序设计

    - **性能优化**:通过改进的垃圾回收机制等技术提高运行效率。 - **Flash Player API功能**: - **多媒体处理**:增强了对音频和视频的支持,使得处理多媒体内容变得更加简单。 - **网络通信**:提供了强大的网络...

    ActionScript3.0权威指南

    9. **性能优化**:理解ActionScript3.0的垃圾回收机制,以及如何编写高效的代码,减少内存占用和提升运行速度。 10. **Flex框架**:如果书中涉及,还会介绍使用Flex SDK创建Flex应用程序的基本原理和实践。 此外,...

Global site tag (gtag.js) - Google Analytics