文件分析
AssetsManager 更新总控,一个文件搞定所有更新步骤下面这一堆,完成跟上面一个文件类似的工作,只是做了更好的封装,需要用到指定格式的Manifest
用Manifest做配置文件
用Downloader做下载器
用CCEventAssetsManagerEx做流程事件分发
用CCEventListenerAssetsManagerEx做流程事件处理
用AssetsManagerEx做逻辑总控制
AssetsManagerEx 逻辑入口,总控
CCEventAssetsManagerEx 事件分发
CCEventListenerAssetsManagerEx 事件监听
Downloader 下载器,内部还是curl
Manifest 做文件版本比较用
更新流程
这部分只分析AssetsManager 的更新流程,下面那一堆所做的流程类似。
update--自动更新流程
checkUpdate--开启线程做downloadAndUncompresscheckUpdate--检测更新
curl初始化--连接获取版本文件--出错,NETWORK错误--版本比较--相同,NO_NEW_VERSION错误--不同,返回true
downloadAndUncompress--下载并解压文件
downLoad下载更新文件--出错,直接结束--将下载版本号记录到本地--uncompress解压--出错,UNCOMPRESS错误--本地版本号替换为新版本--清除下载版本号--设置搜索路径(把保存下载文件的路径