当前位置: 首页 > news >正文

【Unity】各种操作触发GC情况

【Unity】各种操作触发 GC 情况

在 Update 中持续执行下列操作,统计每帧触发 GC 的情况,仅首帧触发 GC 的情况不计入。

使用 Linq 处理数据

基本上使用就会分配内存,所以不要用。

利用 Foreach 遍历容器

不会分配内存,可以用,但根据不同的迭代器实现,速度可能不如 For 循环。

将值类型装箱

会触发内存分配,不要使用。

使用 enum 做键的字典

使用 enum 作为键实测并不会触发装箱,查看源代码就会发现,内部已经改为用泛型处理,所以没有内存分配。

修改字符串

字符串是引用类型,修改字符串实质是创建了一个新字符串,接着旧字符串将被回收,所以会触发 GC,常见如修改 UI 文字时出现。

创建委托

只有使用匿名函数的方式创建时不会分配内存。

创建方式 是否分配内存 分配量级
静态函数 1
成员函数 1
局部函数 1
匿名函数 0

调用匿名函数

默认情况没有内存分配,但用到对象成员则分配内存加一,触发闭包再加一,避免这些情况。

在匿名函数内调用其他函数的情况

函数类型 是否分配内存 分配量级
静态函数 0
成员函数 1
成员局部函数 1
非成员局部函数 0

在匿名函数内使用其他变量的情况

变量类型 是否分配内存 分配量级
对象成员变量 1
作用域外变量 2
http://www.jsqmd.com/news/130615/

相关文章:

  • 【技术美术】D3D中GPU渲染管线流程详解
  • vscode使用vs环境运行程序
  • java基础-HashMap
  • 万能欧几里得板子
  • 万能欧几里得板子
  • Mercado Libre(美客多)拉美市场研究指南:十款实用工具助力跨境运营分析
  • 一张Transformer-LSTM模型的结构图
  • 稀疏注意力机制
  • 茶颜悦色X北森|如何用AI面试官帮HR工作量直降90%!
  • 【技术美术】渲染空间变换概述
  • 【负荷预测】基于变分模态分解(VMD-CNN-LSTM)的短期电力负荷预测Python代码
  • AI智能预警系统:矿山、工厂与油气站安全管理架构浅析
  • 流量洪峰冲不垮的秘密:揭秘系统过载保护的核心防线
  • 【技术美术】程序化噪波实现
  • 【排序算法全家桶 Level 2】选择排序:从“双向奔赴”的陷阱到堆排序的“降维打击”
  • Java毕设选题推荐:基于springboot+vue的社区资源共享系统设计与实现社区公共资源(活动室、工具房),实现在线预约与使用登记【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 【技术美术】TRS矩阵
  • 疆鸿智能PROFIBUS联RS232:破解汽车智造追溯瓶颈,效率怒增!
  • HarmonyOS 5开发从入门到精通(十六):天气应用实战(下)
  • 【软件开发】设计模式个人解读
  • 软件工程学习日志2025.12.23
  • 软件工程学习日志2025.12.23
  • 8088单板机 8253定时器实验
  • 记录我的niri安装
  • 【软件开发】正则表达式
  • 计算机Java毕设实战-基于springboot的传媒公司传媒直播管理系统设计与实现基于SpringBoot+Vue的传媒公司主播招募管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2025年珠海可靠的门窗源头厂家有哪些,门窗/慕莎尼奥门窗/断桥铝门窗/侧压平移推拉窗/铝门窗/安全门窗实力厂家推荐排行榜 - 品牌推荐师
  • 基于Spring框架社区老年人健康杂志阅读分享管理系统
  • 【技术美术】光照技术概述
  • 最大数max(x,y,z)(信息学奥赛一本通- P1152)