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

一. 层面上的不同

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

二.内存分配上的不同

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

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

三.生命周期的管理

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

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

相关推荐
mxwin2 小时前
Unity Shader 极坐标特效 从数学原理到实战案例
unity·游戏引擎·shader·uv
魔士于安1 天前
unity 圆盘式 太空飞船
游戏·unity·游戏引擎·贴图·模型
陈言必行1 天前
Unity 之 Addressables 加载失败:路径变量未替换导致的 404 错误分析与解决
unity·游戏引擎
qq_170264751 天前
unity出安卓年龄分级的arr包问题
android·unity·游戏引擎
WMX10121 天前
Holoens2开发报错记录02_unity项目常见错误
unity
魔士于安1 天前
宇宙版地球模拟器
游戏·unity·游戏引擎·贴图·模型
魔士于安1 天前
氛围感游戏场景,天空盒,带地形,附赠一个空要塞
游戏·unity·游戏引擎·贴图
ellis19701 天前
Unity程序集(assembly)笔记
unity
mxwin1 天前
Unity Shader UI 流光效果完全推导指南
ui·unity·游戏引擎·shader·uv