AssetBundle内存管理

内存管理方向主要分为:
1.硬盘文件:assetbundle文件
2.内存文件:assetbundle镜像文件
3.assetbundle内资源:asset
4.场景内资源:instantiate-object


1.对于AssetBundle硬盘文件,如何优化?

  • 修改不同的压缩方式,减少占用大小
  • 剔除冗余资源

2.对于AssetBundle内存文件,如何优化?

  • 某些加载出来就一直在内存里面的资源,可以assetBundle.Load以后,直接调用assetbundle.Unload(false)
    assetbundle.Unload(false),只卸载assetBundle内存镜像。
    assetbundle.Unload(true),卸载内存镜像的同时,也卸载所Load出来的资源。(变粉色)

3.对于assetbundle内资源文件,如何优化?

  • 如果没有其他对此有依赖关系的资源,就可以释放此资源。
    Resources.Unload(obj):卸载指定资源。
    Resources.UnloadUnusedAssets():卸载所有没有引用的资源。
    注意:不能卸载 Gameobject,只能调用Destory,否则会报错。

如图所示。

4.对于场景内的资源,如何优化?
使用Destory(go)释放资源,并且把prefab资源设为null。

this.asset = null;
Destroy(this.go);

而不是 Resources.UnloadAsset(this.asset)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值