As3.0 删除对象
flash吧
全部回复
仅看楼主
level 9
Ice_106
楼主
as3.0中如何手动删除对象,如在场景中使用过一个mc,但之后再也不需要用到了,想将这一部分资源释放要怎么写代码(不只是在场景中不可见,数据也不要)
2016年01月19日 05点01分
1
level 12
自在满愿
removeChild(mc1) 删除影片剪辑
2016年01月19日 08点01分
2
Ice_106
那只是不在舞台上了
2016年01月19日 10点01分
自在满愿
你个逗逼这是已经删除了!
2016年01月19日 12点01分
Ice_106
回复
黑暗支雅
:删除个毛线啊,还在占资源
2016年01月20日 04点01分
Ice_106
回复
黑暗支雅
:如果一直创建mc,并用这种方法删除,随时间推移会运行的越来越慢
2016年01月20日 04点01分
level 8
精膘十三郎
比如一个叫 mc的
(mc的父对象).removeChild( mc )
mc = null;
2016年01月19日 09点01分
3
Ice_106
可以把mc这个变量直接删除吗?
2016年01月19日 10点01分
Ice_106
在mc上用this=null时会弹出编译器错误(无法为非引用值赋值),但mc是引用类型啊
2016年01月19日 10点01分
精膘十三郎
@Ice_106
哎 去了解下 as3的垃圾回收机制吧 当mc = null时 就是给他标记为null那么垃圾回收在触发的时候 首先会去找这个为 null标记的。这样的话比遍历全部来得快。试问为何要删除 ?你所谓的删除是何意?
2016年01月19日 14点01分
精膘十三郎
变量本身并没有什么开销 占开销的是 new的时候,即对一个类进行实例化 会开辟内存,当将其引用设置为null 时 后面会进行回收,那么就会让其释放内存。
2016年01月19日 14点01分
level 8
精膘十三郎
另外 不同的对象释放也有区别 如果是 bitmapdata 有个dispose的方法
2016年01月19日 09点01分
4
1