Unity中new() 和实例化有什么区别?

一. 层面上的不同

new()是C#语言层面上的事情,而实例化是unity引擎的一个api

二.内存分配上的不同

new()本质上是给一个类的实例对象申请分配一块内存,调用这个类的构造函数,然后返回这个对象的引用。

unity的实例化是GameObject.Instantiate()这个函数复制某个已存在的GameObject,可能是场景可能是prefab,复制其Transfrom,组件,以及子物体,然后加入到这个场景中。所以可以说这个过程是一个深拷贝。

三.生命周期的管理

new()出来的对象是受到GC机制管理的。

unity实例化出来的对象则是受unity引擎管理的

相关推荐
寂寞的船15 小时前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
Martina_03211 天前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
寂寞的船3 天前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船3 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船4 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水4 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船4 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
寂寞的船4 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
tealcwu6 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu6 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎