as3下NetStream不能回收的问题

来源:互联网 发布:八爪鱼 网站 数据采集 编辑:程序博客网 时间:2024/06/06 02:13

刚开始学,刚开始写.都是转载: 在群里一个朋友碰到这样的一个古怪的问题,netStream.close后,引用清空也没法清掉流,一开始我想到的是垃圾回收没有回收掉,于是写了强制垃圾回收,(太久没用了,依稀记得老外的gc是抛异常的,忘了重要的不是这个,而是用LocalConnection)结果没有成功,后来找了半天fms服务器的api希望能从服务端踢掉这个流,也没有发现什么方法可以实现,最后只能回头了唉,找出老外的gc来,再测试,还是没用,最后问了下朋友,原来gc要调用2次的。。。汗。最后测试ok,代码如下: var nc:NetConnection = new NetConnection(); var ns:NetStream = null; nc.objectEncoding = ObjectEncoding.AMF0; nc.addEventListener(NetStatusEvent.NET_STATUS,status); nc.connect("rtmp://localhost/test/",3); function status(e:NetStatusEvent) { if (e.info.code=="NetConnection.Connect.Success") { ns = new NetStream(nc); video.attachNetStream(ns); ns.play("1"); } } btn.addEventListener(MouseEvent.CLICK,function(e:MouseEvent){ video.clear(); removeChild(video); video = null; ns.close(); ns = null; gc(); gc(); }); function gc(){ try { new LocalConnection().connect('GC'); } catch (e:Error) {} } 转载地址:http://bogey.cn/?cat=1