Resources & AssetBundle都有一个数据来源,磁盘文件或者来自本地文件/异地网络的字节流。
Resources
Load
开一块内存, 生成Asset Object,里面有Mesh, Material, Texture, Shader, Script等。
UnloadAsset
释放AssetObject,如果AssetObject还被某个GameObject引用,将会报错。
AssetBundle
AssetBundle原理和Resources类似,多一个AssetBundle压缩包文件内存镜像。
LoadFromFile / LoadFromMemory
生成压缩包文件内存镜像。
Unload(false)
释放压缩包文件内存镜像。
LoadAsset
同ResourcesLoad。
Unload(true)
释放LoadAsset生成的对象 + Unload(false)功能。
公共
Instantiate
将Asset Object拷贝出一个新的GameObject;注意新的GameObject,还会存在对Asset Ojbect的引用。
Destory
释放Instantiate的对象。