Loader与URLLoader区别的总结分析
区别:一个用来加载可显示数据,一个用来加载非显示数据因为loader是继承与容器类的,所以首先它是个容器,而URLLoader 是继承与EventDispatcher,它不是容器URLLoader 类以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据,在加载非常大的视频文件(如 FLV 的视频文件)时,可能会出现内存不足错误,返回的数据在data属性里面
而loader多加载图片,swf等可视化对象,加载后作为唯一的子对象显示在列表上。
应用范围
Loader: 多用于swf,图片(jpg,png,gif)
URLLoader: 多用于文本文件(xml,php,jsp…)
使用方法
Loader:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); private function loadComplete(event:Event) { trace("done");addChild(loader);}
URLLoader:
xmlLoader.dataFormat=URLLoaderDataFormat.TEXT; xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded); private function xmlLoaded(event:Event) { try {myXML = XML(event.target.data);area.text=myXML;} catch (e:TypeError) {area.text="Load faild:\n"+e.message;} }
Loader
在使用Loader来加载数据时,添加侦听事件时,注意一定要给Loader的 contentLoaderInfo属性增加事件,而不是给Loader对象增加事件。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
大家知道Loader是用来代替原来 MovieClip的loadMovie功能,用于加载外部的图片文件,SWF文件。
如果加载图片文件(jpg,gif,png等)时,Loader.content得到数据类型是Bitmap对象;
如果加载SWF文件(flash 9 版本)时,Loader.content得到数据类型是MovieClip对象;
如果加载SWF文件(flash 9 以前版本) 时, Loader.content得到数据类型是AVM1Movie对象;
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例