资源几点想法

拆分不同包,用的时候下载
资源分两部分
Start 启动起来到下载其它资源必须包含的资源,相当于是一个微端必须的资源
BaseCommon 这个里面是基本的使用资源,资源基本不卸载
ShareCommon 这个里面的几个模块共用的资源,不用的时候卸载,但是这个模块资源必须加载的时候在包体
Feature 这个是每个功能单独的包,只有本功能使用吗,其它功能如果要使用,需要移动到 ShareCommon 里面

资源版本管理
版本系统包含基本的信息
例如 Id , HashCode , 确定是否去更新,还要有个当前文件的时间戳,主要是平时打包可能不升级版本号,但是如果覆盖安装可能之前下载的版本文件还在,这个时候读取可能就会有问题,对比时间戳,比包体中的时间戳还旧,就不再读取这个版本文件
包系统,每个文件可能包含很多小文件,就需要知道每个小文件的偏移和大小之类的信息
包含包Id , 包包含的文件列表, 包含文件大小, 包含文件偏移

版本文件或者包系统,都先建立索引,例如先读取 Id 和 这正内容的 Offset ,真正内容需要读取的时候才读取,这样可以减少内存占用
Unity 的 StreamingAssets 目录,在 Android 平台是不能使用文件读取的,这个文件应该拷贝到 Persistent 目录下,使用文件流读取

发布了59 篇原创文章 · 获赞 36 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/kuangben2000/article/details/104005974