• Unity GC优化原理及实践-4实践


    1.GC原理

     

    (1) 发生GC时,所有线程都必须停止工作。GC不合理的一种表现。

      如打开界面初始化界面逻辑的GC、一键添加道具触发红点重新计算的GC。  

    (2)GC回收的是堆内存

     

    变量定义在for循环外,节约了每次分配栈内存的时间,性能上略优于定义在for循环内。

    变量定义在for循环内更符合变量作用域最小原则。

    (3) 减少内存碎片。复用堆上的类型如List<T>

     

    2.影响GC性能的主要因素

     

    3.可变参数

     

    4.Condition特性

     

      

    5.装箱和拆箱

    6.避免使用Linq

      排序本身会产生GC,以及最后的.ToList()操作

    7.使用对象池

      避免频繁的创建和释放带来的GC,也是减少碎片

    8.字符串

    9.匿名方法

    匿名函数gc分析:https://www.cnblogs.com/sifenkesi/p/9762183.html

    常用于加载资源的回调,传参回调函数

    10.协程

     

     

     

     

     

    12.Unity所有返回是数组的API都会有GC Alloc

     

     

     

  • 相关阅读:
    padStart()方法,padEnd()方法
    模板字符串
    Flask ==》 信号 and flash-session
    单例模式
    Git == > 版本控制
    Flask ==> 文件配置
    setitem和getitem和delitem
    Flask ==> 简单用户登录
    Flask
    Django ==> Model基础
  • 原文地址:https://www.cnblogs.com/DonYao/p/15255235.html
Copyright © 2020-2023  润新知