个人实战Unity 内存优化总结

1. String.Format 与 StringBuilder

文章链接:https://blog.csdn.net/zphshiwo/article/details/81450301

2. GameObject.name 与 GameObject.tag 对比字符串会造成意想不到的内存分配

函数调用GameObject.name 或者 GameObject.tag也会造成预想不到的堆内存分配,这两个函数都会将结果存为新的字符串返回,这就会造成不必要的内存垃圾,对结果进行缓存是一种有效的办法,但是在Unity中都对应的有相关的函数来替代。对于比较gameObject的tag,可以采用GameObject.CompareTag()来替代。

    void TestTag()
    {
        for (int i = 0; i < m_count; i++)
        {
            if (m_obj.tag == "111")
            {

            }
        }
    }
    
    Profiler.BeginSample("TestTag");
    TestTag();
    Profiler.EndSample();

你可能感兴趣的:(Unity知识点)