由于最近工作環(huán)境從 Mac 轉(zhuǎn)到了 Windows,所以打開(kāi)項(xiàng)目后讓我瞎眼的第一件事就是字體顯示太 TM 丑了(因?yàn)槭?080P的屏幕)。難受了一個(gè)早上后,我決定摸魚(yú)半小時(shí)整...
IP屬地:廣東
由于最近工作環(huán)境從 Mac 轉(zhuǎn)到了 Windows,所以打開(kāi)項(xiàng)目后讓我瞎眼的第一件事就是字體顯示太 TM 丑了(因?yàn)槭?080P的屏幕)。難受了一個(gè)早上后,我決定摸魚(yú)半小時(shí)整...
背景 一開(kāi)始讓我用 X5 我也是拒絕的。但因?yàn)橐恍┟壑瓎?wèn)題,個(gè)別機(jī)型在不使用 X5 時(shí) WebView 頁(yè)面會(huì)亂掉或者彈窗失效,所以不得不用,于是我先參考了一下舊項(xiàng)目中的加載...
參考: Demystifying the inline keyword Kotlin Basics: Inline Functions Kotlin inline 關(guān)鍵字的使...
關(guān)于這個(gè)我還真是疑惑過(guò),說(shuō)內(nèi)聯(lián)就是編譯器會(huì)在調(diào)用的地方直接把整個(gè)函數(shù)復(fù)制過(guò)去,那么由此可能引發(fā)的問(wèn)題就是代碼膨脹。你不可能把一個(gè)1000行的函數(shù)定義為inline,因?yàn)橹苯訌?fù)制過(guò)去的開(kāi)銷比較大。在寫(xiě)Kotlin的時(shí)候也碰到過(guò)編譯器警告,最后一句話是inlining works best for functions with lambda parameters,跟這的意思貌似差不多。自言自語(yǔ)到這我好像有點(diǎn)明白了,普通的函數(shù)調(diào)用需要入棧出棧,而內(nèi)聯(lián)是直接將函數(shù)復(fù)制到調(diào)用處,有函數(shù)的特點(diǎn),但不需要入棧出棧,效率比較高。
xiasuhuei321 評(píng)論自Kotlin inline 關(guān)鍵字的使用