用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as3.0教程>列表

ActionScript 3.0垃圾回收

[来源:flashxm | 作者:flashxm | 时间:2008-07-01 | 点击:  | 收藏本文  【 】]

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

  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.text.TextField;
  5.     import flash.utils.Timer;
  6.     import flash.events.Event;
  7.     import flash.events.TimerEvent;
  8.     import flash.system.System;
  9.     public class GarbageCollection extends Sprite
  10.     {
  11.         public function GarbageCollection()
  12.         {
  13.             var s:Sprite = new Sprite;
  14.             s.graphics.beginFill(0, 1);
  15.             s.graphics.drawRect(0, 0, 100, 100);
  16.             //addChild(s);
  17.             s.addEventListener(Event.ENTER_FRAME, enterframelistener);
  18.             var timer:Timer = new Timer(1);
  19.             timer.addEventListener(TimerEvent.TIMER, timelistener);
  20.             timer.start();
  21.         }
  22.         private function timelistener(e:TimerEvent):void
  23.         {
  24.             new TextField();
  25.         }
  26.         private function enterframelistener(e:Event):void
  27.         {
  28.             trace('Flash Player当前所用内存(字节):', System.totalMemory);
  29.         }
  30.     }
  31. }

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

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

ps: 此例原型是Essential ActionScript 3.0 P277的Example 14-1. Garbage collection demonstration

文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:Flash上传客户端
下一篇:as3渐退方格效果
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·as3渐退方格效果
·ActionScript 3.0垃圾回收
·Flash上传客户端
·AS3编码转换函数
·flash as3的binding-ObjectProxy
·as3的ComboBox组件应用小问题
·小球的弹性碰撞
·小球的弹性碰撞
·小球的弹性碰撞
·ActionScript 3设计模式类图(二)
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·Flex 3 AdvancedDataGrid的使用(第二
·flash春雷闪电效果
·Flash制作大雪纷飞效果动画
·即拷即用的loading代码
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号