[Unity]Unity性能优化实战之GC优化(1)

首先说一下非常简单的New GC,创建一个类

    public class A
    {
        string b;
    }

在Update函数中这样调用:

	void Update () {
        UpdateNewGC();
    }

    void UpdateNewGC()
    {
        A a = new A();
    }

会产生GC吗?

答案是肯定的,基于对真理的孜孜不倦的追求,我们用Profiler观察


那么要如何避免掉这个GC呢?

首先,确定这个类是不需要拷贝的,或者深拷贝的开销比较少,然后我们把class改成struct就可以了,因为结构体是在栈中申请内存的,函数结束结构体就释放内存了,不会产生GC,如下:


这是关于最简单的New出来的GC的避免方式,一般项目中,这种GC是最容易干掉的,但是项目中还有许多地方根本无法发现真正的GC从哪里冒出来,如果想深入研究,就继续看下去吧。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值