unity3d优化IOS

来源:互联网 发布:奥巴马医改利弊 知乎 编辑:程序博客网 时间:2024/05/18 02:25

1.

using UnityEngine;  

class GarbageCollectManager : MonoBehaviour {  
    public int frameFreq = 30;  
    void Update()   {  
        if (Time.frameCount % frameFreq == 0)  
            System.GC.Collect();  

    } 

2.

使用Strict
在你所有脚本的顶部使用 #pragma ,脚本将是强类型的,避免写代码的时候错误的类型赋值.

避免Object.Instantiate() 和 Object.Destroy()

Instantiating 和 Destroying 都不好,因为他们需要在创建和销毁对象的时候动态的分配内存,这样会短暂的影响到性能.
考虑的代替方案是使用他写的SpawnManager类.它在游戏一开始就初始化所有的对象,这样能在游戏载入的时候一同载入对象,从而让人感觉不到影响.
禁用对象的时候也保持在内存中,当需要他们的时候只需要在启用就行.

还有几点分别是
Cache Component Lookups

Use iTween Sparingly  少用

Avoid SetActiveRecursively()

Use Builtin Arrays

Avoid String Comparison  字符串比较

Avoid Vector3.magnitude & Vector3.Distance()

可以在引用来源看到详细说明 

0 0