Unity冷知識(shí):UnityEngine.Object 特殊行為
2023-03-06 17:35 作者:獨(dú)立游戲人-老雷 | 我要投稿

冷知識(shí)1:
UnityEngine.Object是Unity中一種特殊類(lèi)型的C#對(duì)象,它不是一個(gè)純C#對(duì)象,而是關(guān)聯(lián)了一個(gè)Native層的C++對(duì)象(底層用C++實(shí)現(xiàn))。
例如,當(dāng)你使用Camera組件,Unity會(huì)在Native層存儲(chǔ)該對(duì)象的狀態(tài),而不是在C#層,如下圖所示:

冷知識(shí)2:
Unity目前不支持使用C#弱引用的方式來(lái)指向Unity對(duì)象(UnityEngine.Object),因此不能使用弱引用來(lái)加載資源(會(huì)存在無(wú)法正確釋放的問(wèn)題)
那么問(wèn)題來(lái)了:
什么是弱引用?
為什么Unity資源管理不能使用弱引用呢?道理何在?
大家可以進(jìn)一步看我的資源管理的深度剖析,也可以進(jìn)Q群544165366討論:
標(biāo)簽: