码迷,mamicode.com
首页 > 编程语言 > 详细

unity3d 资源加载与释放的内存管理

时间:2018-06-28 16:54:47      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:MF   load   mfile   from   包括   场景切换   des   iat   过程   

unity3d 在动态创建实例的过程中有三个步骤

AssetBundle.LoadFromFile 创建的是AssetBundle文件内存镜像 bundle

bundle.LoadAsset 创建的是asset内存镜像 asset

Instantiate(asset) 创建出实例对象 gameobject

 

所以就对应这三个生成物体的生成与释放

gameobject

  Instantiate(asset) 生成 gameobject

  Destroy(gameobject) 销毁 gameobject

asset

  bundle.LoadAsset 创建asset内存镜像

  Reources.UnloadAsset(asset) 释放asset内存镜像

  Resources.UnloadUnusedAssets() 释放没有引用的asset

  (策略,不想释放的asset,保持asset的引用,调用UnloadUnusedAssets来统一释放想释放的asset)

bundle

  AssetBundle.LoadFromFile 创建bundle文件内存镜像

  bundle.Unload(false) 释放bundle文件内存镜像

  (在创建完成所有asset之后,调用bundle.Unload(false))

 

场景切换会销毁所有gameobject,清除asset内存镜像的引用,但是不包括AssetBundle文件自身的内存镜像

 

unity3d 资源加载与释放的内存管理

标签:MF   load   mfile   from   包括   场景切换   des   iat   过程   

原文地址:https://www.cnblogs.com/jane-near/p/9239214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!