flash As3 避免重复加载外部SWF文件的问题,如何把加载进来的SWF文件撤掉删除,保证内存里只有一个SWF文件

 我来答
百度网友4935f44e5
2011-12-08 · TA获得超过1493个赞
知道大有可为答主
回答量:1905
采纳率:0%
帮助的人:1311万
展开全部
例如你加载的loader添加到了场景里(loader是定义的new Loader加载),可以用此监听:

//当目标脱离场景时执行函数
loader.addEventListener(Event.REMOVED_FROM_STAGE,onRemoved);

function onRemoved():void {
loader.unload();//终止加载
loader.unloadAndStop();//卸载子swf 以及内部的事件侦听移除 关闭流
}

当然这样是无法做到完全把它从内存中卸载干净的,比如加载进来的swf还加载了音乐,你把这个swf卸载了音乐还是照常播放。
那么只能在子swf文件建立:this.addEventListener(Event.REMOVED_FROM_STAGE,onRemoved);
这样卸载所要删除的侦听及占内存的东东

我的网站就因为加载子swf文件后,这个flash又加载了音乐,卸载不干净的原因困扰了我很久呢。
http://www.flashme.cn
xlzzc
2011-12-07 · TA获得超过7301个赞
知道大有可为答主
回答量:4205
采纳率:50%
帮助的人:1411万
展开全部
把加载的swf放在变量里存放,以便判断是否已经加载
把加载进来的SWF文件撤掉删除:removeChild(swf)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mzdxzq
2011-12-08 · TA获得超过131个赞
知道答主
回答量:240
采纳率:0%
帮助的人:281万
展开全部
把外部的swf文件名存入数组 然后用loader方法加载 例如 pic.load(sz[i]) 每次加载前 先移除pic 再重新加载PIC 应该可以解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
st2147010
2011-12-07 · 超过68用户采纳过TA的回答
知道答主
回答量:187
采纳率:0%
帮助的人:190万
展开全部
要真正删除需要用到unload()方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式