`
Fis
  • 浏览: 84735 次
  • 性别: Icon_minigender_1
  • 来自: 龙城
社区版块
存档分类
最新评论

Starling中AssetManager加载文件的流程整理

阅读更多
  Starling做移动开发,会用到大量的纹理和图片素材、XML配置等文件,需要频繁使用AssetManager类加载和使用他们,有时如果获取素材时报错,不知道AssetManager类的调用顺序就会对调试造成困难。因为工作需要对AssetManager的内部加载流程做了一次跟踪调试,这里做一次记录和整理,以备他用。
  AssetManager中,在调用enqueue方法向加载队列添加要加载的素材后,需要在最后调用loadQueue方法,所以也是从这里开始探索AssetManager的加载流程。因为期间使用了大量的函数变量,为了简便说明,将会根据各个函数的大写缩写给他们命名。

一、用到的方法
1、loadQueue方法(LQ)
  方法中的几个函数变量构成整个流程所需的步骤,他们分别是:
loadQueueElement(LQE)
loadNextQueueElement(LNQE)
processXmls(PXS)
finish(F)

2、processRawAsset方法(PRA)
  包含的函数变量:
process(P)

3、loadRawAsset方法(LRA)
  包含的函数变量:
onUrlLoaderComplete(OULC)
onLoaderComplete(OLC)
complete(C)

4、addTextureAtlas(ATA)
5、addTexture(AT)
6、addXml(AX)
7、removeTexture(RT)

二、加载流程
1、加载纹理
LQ -> LQE -> PRA -> LRA -> OULC -> OLC -> C -> P -> AT -> LNQE -> PRA(next)

2、加载纹理XML配置
LQ -> LQE -> PRA -> LRA -> QULC -> C -> P(xmls.push) -> LNQE -> PRA(next)

3、加载其他文件
LQ -> LQE -> PRA -> LRA -> QULC -> C -> P -> P -> AX -> LNQE -> PRA(next)

   加载其他文件的时候,在 P 方法中会因为传入的是二进制数据类型而调用 P 两次。
  
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics