作者aliasivy (别名艾维)
看板Flash
标题[讨论] 元件用完之後remove或是给null的差异
时间Tue Oct 2 23:01:33 2012
各位好,
最近我开始慢慢熟悉Flash一些基本操作,
还有AS3.0的用法,
目前参考练习的内容是这位作者的网站:
"I Help People Make Flash Games"
AvoiderGame Tutorial
http://0rz.tw/7juns
不过练习完Part3之後有个疑问是,
addChild加入gameOverScreen之後,
把playScreen设为null,
这样子的做法,
跟removeChild或是removeListener的作法,
有没有什麽差异?
我自己的感觉好像是,
playScreen给了null,
所有相关的物件的pointer全部都消除,
但其实相关的物件都还存在着,
是这样子的吗?
还请各位指正我的观念~谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.135.139
1F:→ younchun:当物件被new时,就已经存在。而addChild是将物件加到显示 10/03 12:29
2F:→ younchun:清单,让画面上可以看到物件,removeChild则是从显示清单 10/03 12:30
3F:→ younchun:中移除,但还是存在。 10/03 12:32
4F:→ aliasivy:谢谢楼上大大的回应~但这样不管remove或是给null, 10/03 12:51
5F:→ aliasivy:物件都还是存在的话,flash里面有内建garbage collection 10/03 12:52
6F:→ aliasivy:的机制吗?感觉都还在好像没有用会一直堆着这样?谢谢~ 10/03 12:53
7F:推 cjcat2266:设null就是要移除参考,一个没有被参考的物件称为"孤儿" 10/03 13:03
8F:→ cjcat2266:当需要记忆体的时候,garbage collector自动会把孤儿 10/03 13:03
9F:→ cjcat2266:都清除掉 10/03 13:03
10F:→ aliasivy:哦哦~所以flash也是有garbage collector不用设计师 10/03 15:43
11F:→ aliasivy:自己处理, 了解~感谢大大! 10/03 15:43