Assetbundle的内存处理
2016-03-17 08:57
447 查看
那么下面就举一个AssetBundle的例子:
Assetbundle的内存处理
以下载Assetbundle为例子,聊一下内存的分配。匹夫从官网的手册上找到了一个使用Assetbundle的情景如下:
内存分配的三个部分匹夫已经在代码中标识了出来:
Web Stream:包括了压缩的文件,解压所需的缓存,以及解压后的文件。
AssetBundle:Web Stream中的文件的映射,或者说引用。
实例化之后的对象:就是引擎的各种资源文件了,会在内存中创建出来。
那就分别解析一下:
将压缩的文件读入内存中
创建解压所需的缓存
将文件解压,解压后的文件进入内存
关闭掉为解压创建的缓存
AssetBundle此时相当于一个桥梁,从Web Stream解压后的文件到最后实例化创建的对象之间的桥梁。
所以AssetBundle实质上是Web Stream解压后的文件中各个对象的映射。而非真实的对象。
实际的资源还存在Web Stream中,所以此时要保留Web Stream。
通过AssetBundle获取资源,实例化对象
最后各位可能看到了官网中的这个例子使用了:
这种using的用法。这种用法其实就是为了在使用完Web Stream之后,将内存释放掉的。因为WWW也继承了idispose的接口,所以可以使用using的这种用法。其实相当于最后执行了:
OK,Web Stream被删除掉了。那还有谁呢?对Assetbundle。那么使用
ok,写到这里就先打住啦。写的有点超了。有点赶也有点临时,日后在补充编辑。
Assetbundle的内存处理
以下载Assetbundle为例子,聊一下内存的分配。匹夫从官网的手册上找到了一个使用Assetbundle的情景如下:
Web Stream:包括了压缩的文件,解压所需的缓存,以及解压后的文件。
AssetBundle:Web Stream中的文件的映射,或者说引用。
实例化之后的对象:就是引擎的各种资源文件了,会在内存中创建出来。
那就分别解析一下:
创建解压所需的缓存
将文件解压,解压后的文件进入内存
关闭掉为解压创建的缓存
所以AssetBundle实质上是Web Stream解压后的文件中各个对象的映射。而非真实的对象。
实际的资源还存在Web Stream中,所以此时要保留Web Stream。
最后各位可能看到了官网中的这个例子使用了:
相关文章推荐
- 视觉软件需要考虑的10个方面
- 穷举法解决组合问题
- c语言 字符串排序
- Android 验证是否为正确手机号
- 数据库 char nchar varchar nvarchar 区别
- 第二周项目:求平方和
- 第3周项目3:输出星号图(6)
- Android---07---打电话和发短信打电话和发短信更新版
- HDOJ 2602 Bone Collector
- 第三周【项目4:穷举法解决组合问题】
- 51单片机——EEPROM
- 使用Java打印数字组成的魔方阵及字符组成的钻石图形
- 第3周项目4-穷举法解决组合问题(百钱白鸡问题)
- 【bzoj1923】[Sdoi2010]外星千足虫 高斯消元解xor方程组
- 项目3:输出星号图
- 开发者可以使用Docker做什么?
- 第三周项目4:穷举法解决组合问题(7)谁是小偷
- 第三周【项目3:输出星号图】
- iOS小菜那些年写过的宏文件
- 如何在js中判断两个字符串a,b相同 a=b??