Flash as3资源加载

来源:互联网 发布:恺英网络借壳泰亚股份 编辑:程序博客网 时间:2024/05/14 01:58

一、流程

二、对象1.ResRequest:包含加载的一些控制和环境参数,如下:
url:
format:
priotity:优先级
clearType:清除方式
clearTime:清除时间
data:Bytes、URLVariable等加载时附加的数据。
loaderContext:LoaderContext对象,包含doamin指示swf加载的域和checkPolicyFile指示图片加载是否检测策略文件
okFun,errorFun,loadingFun,:三个回调
2.Loader
针对不同的资源会有对应的加载器,最中会返回资源的最初形式。
3.LoaderProxy
加载器代理,持有一个Loader和一个ResInfo,控制和监听着Loader的加载流程。在Loader加载完后会通过ResParser解析资源来填充ResInfo。
4.LoaderFactory:加载器创建工厂,根据需要创建并返回不同的加载器。对象池优化。
5.ResParser:资源解析器根据原始形式的资源解析成所需格式的资源。
6.LoaderManager
管理着waitingList,LoadingList,loadedList。loadedList列表中的对象是ResInfo,其余是LoadProxy。
load(request):将请求加入队列,当加载队列空闲时从等待列表中取出一个ResInfo,并把它传给一个LoaderProxy。LoaderProxy在加载完或者加载失败或者加载超时会通知LoaderManager,LoaderManager会把他移除或移到LoadedList。
等待列表是中LoadProxy,他有priority,这属性取其中的所有ResRequest的最大值。
loadQueue(requestList):加载队列
7.ResInfo
包含了资源的一些信息格式、url、content等等。
8.队列加载
QueueLoader:队列加载,
handleLoaded,handleError,handleLoading处理针对整个队列的侦听函数。
RequestWrapper:队列中一个文件的加载,会包
装ResRequest
中的三个加载监听方法。
同时可能该文件的加载需要在多个队列加载中用到,所以有下面一个方法
attachTo(QueueLoader):会将QueueLoader添加到一个列表,当加载时事件发生时,会调用队列中所有QueueLoader的对应事件的处理方法。
三、关键点

这里写图片描述

四、资源卸载
资源加载时指定卸载模式ResClearMode
可以有如下几种方式:
Never=0
Time=1
Scene=2
TimeAndScene=3

原创粉丝点击