"Unity 3D中的内存管理"之读书笔记

文章出自:http://www.onevcat.com/2012/11/memory-in-unity3d/

文章是欢迎大家转载的。

读书笔记:


1. 减少程序内存 -减少打包时的引用库,改一改build

这个我没优化过,不知道能够省略.net里面的哪些库,省略Sysytem.Xml

用第三方的xml读取 这个我是用过的。应该能减少好几M的内存。


2.托管堆优化 - 这个主要是性能问题,为了性能和短时间产生的内存容量,应该把预计使用到的对象存起来反复用.

尽量减少对GameObject的Instantiate()和Destroy()调用

我在创建极大地图,局部加载地图元件的时候肯定是遇到这个问题了的,而且我的方法就是,当元件在显示区域时,就生成,离开显示区域时,就销毁

遇到了大量Instantiate()和Destroy()   的情况。

如果可以,对一些重复性资源,创建数量充足可用的gameObject对象,对他们只是进行一个显示到界面上,从界面上隐藏的操作。能减少大量创建和销毁的顿卡情况。


3.本机堆优化 

    1. 减少Hierarchy对资源的直接引用,而是使用Resource.Load的方法。

这个我没问题,平时就是经常调用Resource.load()的,但问题是我却很少使用Resource.UnloadAsset()和Resources.UnloadUnusedAssets()尽快将其卸载掉。

        2.DontDestroyOnLoad的使用要谨慎,使用它之后就算场景切换,DontDestroyOnLoad的东西相关的东西也不会被destroy

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值