Unity 托管内存(Managed Memory)

翻译:https://unity3d.com/cn/learn/tutorials/topics/best-practices/managed-memory

理解托管堆对 Unity 中的内存管理至关重要。 有关分析托管内存和如何优化内存的更多信息,请参阅了解 Unity 中的理解优化部分

一、Assets

资产在运行时影响本机内存和托管内存。 在用户终止应用程序之前,Unity 运行时不会将托管内 存返回到操作系统进行重用。 如果托管堆变得过于支离破碎并耗尽可用内存,则它会增大。 由于这种不可预测的行为,知道资产如何占用托管内存是非常重要的:

  • 使用Destroy(myObject)来销毁一个对象并释放其内存。 将对象的引用设置为 null 并不会破坏它
  • 您应该将持久(long-term)对象设置为类,将临时(short-term)对象设置为结构。 结构不在堆上分配,因此不会进行垃圾回收。
  • 重用临时工作缓冲区以保持临时垃圾较低,而不是频繁分配。
  • 枚举数在退出之前不会清除其内存。
  • 您应该避免永无止境的协程,尤其是在 on 中分配大量托管内存时,因为协程会保持堆上的堆栈分配,直到协程结束。
    请阅读
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值