数据存储
单例类 CCTextureCache
有一个字典m_pTextures
, 其中key是文件名, 数据是cocos2d-x的纹理类指针CCTexture2D*
.
异步加载数据队列
- 保存
AsyncStruct*
(需要加载文件和回调信息)的s_pAsyncStructQueue
队列. - 保存
ImageInfo*
(加载后图片信息) 的s_pImageQueue
队列 .
异步加载接口 addImageAsync
- 若初次调用 , 则启动加载线程
loadImage
- 将图片和回调信息保存push 到
s_pAsyncStructQueue
中
加载线程
循环 :
* 从 s_pAsyncStructQueue
队列中top 一个需要加载的文件信息.
* 加载文件数据
* 将加载的数据push 到s_pImageQueue
队列
异步加载回调函数 addImageAsyncCallBack
- 从
s_pImageQueue
队列中top加载后数据. - 利用数据创建纹理类
- 将纹理加入
m_pTextures
.