国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

怎么做網(wǎng)站注冊登入頁面搜狗指數(shù)官網(wǎng)

怎么做網(wǎng)站注冊登入頁面,搜狗指數(shù)官網(wǎng),寧波網(wǎng)站建設(shè)培訓(xùn),古鎮(zhèn)高端網(wǎng)站建設(shè)如果某些字段在每個構(gòu)造函數(shù)中都要進行初始化,很多人都喜歡在字段聲明時就進行初始化,對于一個非繼承自MonoBehaviour的腳步,這樣做是沒有問題的,然而繼承自MonoBehaviour后就會造成內(nèi)存的浪費,為什么呢?因…

? ? ? 如果某些字段在每個構(gòu)造函數(shù)中都要進行初始化,很多人都喜歡在字段聲明時就進行初始化,對于一個非繼承自MonoBehaviour的腳步,這樣做是沒有問題的,然而繼承自MonoBehaviour后就會造成內(nèi)存的浪費,為什么呢?因為繼承自MonoBehaviour的腳步的構(gòu)造函數(shù)可能會被多次執(zhí)行,這也是為什么Unity的Mono腳步不使用構(gòu)造函數(shù)的原因。而字段在聲明時賦值的結(jié)果其實是會在構(gòu)造函數(shù)中去執(zhí)行,即使沒有聲明構(gòu)造函數(shù),編譯器會在默認(rèn)的無參構(gòu)造函數(shù)中將你的字段初始化放到默認(rèn)的構(gòu)造函數(shù)中去。下面用一個簡單的腳步進行看一下:

    public class Test : MonoBehaviour{private List<int> _data = new List<int>();public Test(){Debug.Log("構(gòu)造函數(shù)調(diào)用 -- Test");}void Start(){}}

上面這段代碼就是在聲明字段時就進行了初始化,現(xiàn)在從IL代碼層面上去看一下:

.class public auto ansi beforefieldinit MagicWorld.Testextends [UnityEngine.CoreModule]UnityEngine.MonoBehaviour
{// Fields.field private class [netstandard]System.Collections.Generic.List`1<int32> _data// Methods.method public hidebysig specialname rtspecialname instance void .ctor () cil managed {// Method begins at RVA 0x3639// Header size: 1// Code size: 28 (0x1c).maxstack 8IL_0000: ldarg.0IL_0001: newobj instance void class [netstandard]System.Collections.Generic.List`1<int32>::.ctor()  // _data = new List<int>();IL_0006: stfld class [netstandard]System.Collections.Generic.List`1<int32> MagicWorld.Test::_dataIL_000b: ldarg.0IL_000c: call instance void [UnityEngine.CoreModule]UnityEngine.MonoBehaviour::.ctor()IL_0011: ldstr "構(gòu)造函數(shù)調(diào)用 -- Test"IL_0016: call void [UnityEngine.CoreModule]UnityEngine.Debug::Log(object)IL_001b: ret} // end of method Test::.ctor.method private hidebysig instance void Start () cil managed {// Method begins at RVA 0x3656// Header size: 1// Code size: 1 (0x1).maxstack 8IL_0000: ret} // end of method Test::Start} // end of class MagicWorld.Test

如果沒有無參構(gòu)造函數(shù),有很多構(gòu)造函數(shù)的話,上面的代碼會被寫到指向父類的構(gòu)造函數(shù)的那個構(gòu)造函數(shù)中,即:base()。

? ? ? ?如果是靜態(tài)字段在聲明時直接賦值則會在靜態(tài)構(gòu)造函數(shù)中執(zhí)行。?而靜態(tài)構(gòu)造函數(shù)會在程序集加載時由編譯器負(fù)責(zé)調(diào)用。

? ? ? ?因此,建議對于Mono腳本,初始化操作建議放到Awake或Start中去執(zhí)行。在編輯器模式下掛載腳步也是會執(zhí)行腳步的構(gòu)造函數(shù)的。對于靜態(tài)變量建議執(zhí)行懶初始化,即訪問時為null時才執(zhí)行初始化,或者使用C#的Lazy<T>類來完成懶初始化。

? ? ? ? 至少到目前Unity支持的C#9語法來看都是這樣的,以后就不清楚了。?

http://m.aloenet.com.cn/news/40943.html

相關(guān)文章:

  • 做易拉寶設(shè)計的網(wǎng)站衡陽seo優(yōu)化報價
  • 一站式做網(wǎng)站哪家強寧波網(wǎng)站推廣哪家公司好
  • 山西省政府網(wǎng)站建設(shè)北京建站
  • 音樂介紹網(wǎng)站怎么做的商業(yè)軟文代寫
  • wordpress 獲取縮略圖路徑全網(wǎng)關(guān)鍵詞優(yōu)化公司哪家好
  • 真正免費的網(wǎng)站建站平臺排名中山seo
  • 直播的網(wǎng)站開發(fā)中國最新領(lǐng)導(dǎo)班子
  • 黃頁 網(wǎng)站模板微信營銷的方法7種
  • nba網(wǎng)站開發(fā)畢業(yè)論文廣州seo外包
  • 哪個網(wǎng)站可以免費看小說不收費百度網(wǎng)絡(luò)營銷推廣
  • 寧波網(wǎng)站建設(shè)模板下載免費宣傳軟文模板
  • 萬戶網(wǎng)絡(luò)網(wǎng)站建設(shè)軟文營銷的經(jīng)典案例
  • 網(wǎng)站建設(shè)方案書 備案最近發(fā)生的熱點新聞事件
  • 大型門戶網(wǎng)站建設(shè)一般多少錢北京云無限優(yōu)化
  • 武漢建設(shè)局網(wǎng)站南寧百度seo排名公司
  • 深圳網(wǎng)站設(shè)計興田德潤放心百度關(guān)鍵詞優(yōu)化多少錢一年
  • 環(huán)球網(wǎng)今日疫情消息網(wǎng)站優(yōu)化招聘
  • 網(wǎng)站建設(shè)與管理教案電商數(shù)據(jù)統(tǒng)計網(wǎng)站
  • 做網(wǎng)站的公司術(shù)語國際新聞最新消息中國
  • wordpress網(wǎng)站搭建教程視頻山東濰坊疫情最新消息
  • 長沙網(wǎng)站制作電話百度seo新算法
  • 做抖音風(fēng)的網(wǎng)站怎么優(yōu)化關(guān)鍵詞排名優(yōu)化
  • 專門做家教的網(wǎng)站營銷網(wǎng)站搭建
  • 怎么做谷歌這樣的網(wǎng)站網(wǎng)站如何做seo排名
  • 免費推廣網(wǎng)站大全網(wǎng)如何做線上銷售和推廣
  • 如何為網(wǎng)站做優(yōu)化培訓(xùn)機構(gòu)招生方案
  • 網(wǎng)站開發(fā)創(chuàng)新點網(wǎng)站推廣優(yōu)化方案
  • 做logo網(wǎng)站的公司做網(wǎng)站找哪家好
  • 怎么用dw做響應(yīng)式網(wǎng)站seo教程免費分享
  • 保定企業(yè)自助建站搜索關(guān)鍵詞優(yōu)化排名