Unity3d 内存优化可以从三个方面入手:
(1)代码方面
a) 尽量避免使用foreach,使用for 循环代替,频繁调用foreach 容易触及堆内存的上限,容易出现卡顿,主要是因为在内存不足时,会提前处罚GC机制;
b)尽量使用stringBulider 代替string(如果string需要频繁的修改)
c) 尽量使用GameObject.CompareTag("XXX") 代替 GameObject.tag=="XXX"
d) 如果需要频繁的实例化和Destroy游戏资源,尽量使用对象池进行管理
(2)贴图方面
选择合适的压缩方式进行压缩图片,
尽量避免使用较大的图片
mipMap,图片的多级渐远方式,根据实际情况进行调整。典型的以内存换性能的策略。
(3)程序架构方面