U3D Resources & AssetBundle内存管理总结

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的对象。

你可能感兴趣的:(unity3d)