Unity优化杂谈5(代码优化)

因为项目中的程序都有自己的习惯,方法写法可以不一样,但是下面这些代码里面在开发过程中能不使用就不要用的。

Delegate委托,

Boxing 装箱,

Linq和正则表达式

Foreach 循环,unity 5.5版本以前会有问题

Param 可变参数,

DictionaryTryGetValue

String消耗从大到小(str1+str2  >  str1+”a”  >  StringBuilder对象池 > ”a”+ “b”

Update里面的New对象

系统方法尽量自己写(如mathGameObject.name等,根据自己的需求尽量简便)

不要总显示隐藏内容,而临时不用的可以移动到一个固定位置。

GetComponentnull

这些都是会带来不同的GC消耗,C#有自己的GC策略,这个就不做介绍,咱们不好控制,有可能会存在内存泄漏。所以每个资源在加载到游戏的时候,通过字典或者引用计数或者峰值检测等策略来实现资源不会泄露,并且根据游戏自身的机制,决定这个资源不使用的时候是否卸载。

Unity在打一个空包就已经快20M包体了,而这些就是unity本身自带的库文件,少引用。在Player SettingEdit->Project Setting->Player),将最下方的Optimization栏目中“Api Compatibility Level”选为.NET 2.0 Subset,下面还有“Stripping Level”参数意思是从代码库中剥离的力度,这样可以减小包体大小。当然一个成熟的项目最好就不要修改了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值