11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 1917|回复: 0
上一主题 下一主题

[高级教程] 【9RIA—沐枫】—【基础小知识】第28节(垃圾回收机制)

[复制链接] TA的其它主题
发表于 2018-2-6 21:08:54 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
转载:9RIA游戏开发者社区(天地会)
作者:沐枫(原天地会大神)


【基础小知识】系列教程(总目录)——沐枫大神出品



[Actionscript3] 纯文本查看 复制代码
{
import flash.display.Sprite;
import flash.events.MouseEvent;

import others.Rect;

// ____________目的:把添加到显示对象容器里的rect用垃圾回收机制回收掉__________________________
public class Main extends Sprite
{
private var rect:Rect;

public function Main()
{
rect=new Rect(150,150);
addChild(rect);
// ___不建议使用的方法:自动启用垃圾回收 , 弊端:效率低____
// rect.addEventListener(MouseEvent.CLICK,onClickHandler,false,0,true);//最后一个开启为true,作用是当rect被移除时,过会这个时间也将会被自动移除

// _____手动启用垃圾回收(完美)_______
rect.addEventListener(MouseEvent.CLICK,onClickHandler);
}

protected function onClickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
// removeChild(rect);
// rect=null;//不负值为空的话,不会启动垃圾回收

if(rect.hasEventListener(MouseEvent.CLICK))
{
rect.removeEventListener(MouseEvent.CLICK,onClickHandler);
removeChild(rect);
rect=null;
}
// 若只把rect移除,事件忘了移除的话,那么就不会发生垃圾回收,也就是传说中的内存泄漏
}
}
}


不要问我找不到Rect类,前两节都有

源文件:

垃圾回收机制.zip (22.14 KB, 下载次数: 2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表