四十四:請(qǐng)簡(jiǎn)述GC(垃圾回收)產(chǎn)生的原因,并描述如何避免?
GC回收堆上的內(nèi)存
避免:1.減少new產(chǎn)生對(duì)象的次數(shù)
2.使用公用的對(duì)象(靜態(tài)成員)
3.將String換為StringBuilder
四十五:反射的實(shí)現(xiàn)原理?
審查元數(shù)據(jù)并收集關(guān)于它的類型信息的能力。實(shí)現(xiàn)原理:在運(yùn)行時(shí)根據(jù)程序集及其中的類型得到元數(shù)據(jù)。下面是實(shí)現(xiàn)步驟:
導(dǎo)入using System.Reflection;
Assembly.Load(“程序集”)加載程序集,返回類型是一個(gè)Assembly
得到程序集中所有類的名稱
foreach (Type type in assembly.GetTypes()) { string t = type.Name; }
4. Type type = assembly.GetType(“程序集.類名”);獲取當(dāng)前類的類型
Activator.CreateInstance(type); 創(chuàng)建此類型實(shí)例
MethodInfo mInfo = type.GetMethod(“方法名”);獲取當(dāng)前方法
m.Info.Invoke(null,方法參數(shù));
四十六:簡(jiǎn)述四元數(shù)的作用,四元數(shù)對(duì)歐拉角的優(yōu)點(diǎn)?
四元數(shù)用于表示旋轉(zhuǎn)
相對(duì)歐拉角的優(yōu)點(diǎn):
1.能進(jìn)行增量旋轉(zhuǎn)
2.避免萬向鎖
3.給定方位的表達(dá)方式有兩種,互為負(fù)(歐拉角有無數(shù)種表達(dá)方式)
四十七:移動(dòng)相機(jī)動(dòng)作在哪個(gè)函數(shù)里,為什么在這個(gè)函數(shù)里?
LateUpdate,是在所有的update結(jié)束后才調(diào)用,比較適合用于命令腳本的執(zhí)行。官網(wǎng)上例子是攝像機(jī)的跟隨,都是所有的update操作完才進(jìn)行攝像機(jī)的跟進(jìn),不然就有可能出現(xiàn)攝像機(jī)已經(jīng)推進(jìn)了,但是視角里還未有角色的空幀出現(xiàn)。