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

一. 层面上的不同

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

二.内存分配上的不同

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

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

三.生命周期的管理

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

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

相关推荐
Wanda12143 小时前
机器人与机电一体化3D数字孪生机器-Day4
3d·unity·机器人·数字孪生
年少无知且疯狂1 天前
【Unity】Shader spine动画冻结效果
unity·spine
淡海水1 天前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
淡海水1 天前
05-03-源码-Boehm GC分配与碎片管理
开发语言·算法·unity·c#·游戏引擎·gc
WarPigs3 天前
Unity无法修改Assembly-CSharp.csproj错误
unity
FairGuard手游加固4 天前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity
阿松爱学习5 天前
【Unity开发】监听Scene场景事件
unity·c#
xiaogai_gai5 天前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
淡海水5 天前
03-03-架构篇-SGen GC架构解析
unity·架构·c#·gc·sgen
/**书香门第*/5 天前
Cocos Creator 打螺丝游戏的实现
游戏引擎·cocos2d·螺丝·打螺丝