DartDart是一種即時(shí)編譯(Just-in-Time Compilation,JIT)語(yǔ)言, 在Dart中,代碼可以通過(guò)兩種方式運(yùn)行: 開(kāi)發(fā)模式(Debug Mode):...
DartDart是一種即時(shí)編譯(Just-in-Time Compilation,JIT)語(yǔ)言, 在Dart中,代碼可以通過(guò)兩種方式運(yùn)行: 開(kāi)發(fā)模式(Debug Mode):...
傳統(tǒng)的原生開(kāi)發(fā)一般都要維護(hù)Android、iOS兩個(gè)開(kāi)發(fā)團(tuán)隊(duì),版本迭代時(shí),無(wú)論人力成本,還是測(cè)試成本都會(huì)變大。?使用Flutter開(kāi)發(fā),真正的一套代碼多端使用,增加代碼復(fù)用...
viewpage+fragment 比如下面有navitation 的menu有五個(gè)itme T1 T2 T3 T4 T5 什么是緩存頁(yè)面?什么是預(yù)加載? 緩存是開(kāi)辟一個(gè)空間...
this 對(duì)象鎖 syn method 當(dāng)前類.class 鎖 static syn method syn 你不需要管,內(nèi)部全部實(shí)現(xiàn)了,靈活很差,自由? lock Reent...
ThreadLocal定義 線程本地變量,也有些地方叫做線程本地存儲(chǔ),其實(shí)意思差不多。ThreadLocal可以讓每個(gè)線程擁有一個(gè)屬于自己的變量的副本,不會(huì)和其他線程的變量副...
rxjava它就是一個(gè)實(shí)現(xiàn)異步操作的庫(kù).同樣是做異步,為什么人們用它,而不用現(xiàn)成的 AsyncTask / Handler / XXX /異步操作很關(guān)鍵的一點(diǎn)是程序的簡(jiǎn)潔性....
可將整個(gè)繪制過(guò)程分為三部分:Measure - Layout - Draw 自定義ViewGrop onMeasure() onLayout() 自定義View則 onMe...
一個(gè)線程如何保證只有一個(gè)Loop? tip(什么是threadlocal? 是一塊線程的內(nèi)部的存儲(chǔ)類,可以指定線程內(nèi)存數(shù)據(jù)。這塊數(shù)據(jù)只能線程內(nèi)使用 )實(shí)際是它的靜態(tài)內(nèi)部類Th...
你了解Android系統(tǒng)啟動(dòng)流程嗎? A:當(dāng)按電源鍵觸發(fā)開(kāi)機(jī),首先會(huì)從ROM中預(yù)定義的地方加載引導(dǎo)程序BootLoader到RAM中,并執(zhí)行Bootl oader程序啟動(dòng)Li...
首先需要清楚相關(guān)的概念,IPC是一種概念,即進(jìn)程間通信;其它幾個(gè)都是Android里的概念;Binder是對(duì)IPC的具體實(shí)行,是IPC的一種具體實(shí)現(xiàn);AIDL是Binder機(jī)...
H5和Native的競(jìng)爭(zhēng) 體驗(yàn)方面 界面風(fēng)格 適配操作系統(tǒng)風(fēng)格(游戲無(wú)需考慮可跨平臺(tái)) 為什么Webview要使用跨進(jìn)程?webview出現(xiàn)問(wèn)題不影響主進(jìn)程 為什么要針對(duì)We...
TODO CPU核心數(shù)和線程數(shù)的關(guān)系 ==================================== TODO 以前 六個(gè)核心數(shù) 以前 1:1 一個(gè)核心 就是一個(gè)線...
業(yè)務(wù)代碼與技術(shù)代碼耦合,主業(yè)務(wù)和增值業(yè)務(wù)代碼指責(zé)耦合,多余的依賴關(guān)系。對(duì)程序來(lái)講是不健康的。如上圖網(wǎng)絡(luò)框架可以進(jìn)一步優(yōu)化。 1.門面設(shè)計(jì)模式 定義:要求一個(gè)子系統(tǒng)的外部與其內(nèi)...
復(fù)制算法(Copying) 將可用內(nèi)存按容量劃分為大小相等的兩塊,每次只使用其中的一塊。當(dāng)這一塊的內(nèi)存用完了,就將還存活著的對(duì)象復(fù)制到另外一塊上面,然后再把已使用過(guò)的內(nèi)存空間...
虛擬機(jī)中的對(duì)象 對(duì)象的分配 虛擬機(jī)遇到一條new指令時(shí),首先檢查是否被類加載器加載,如果沒(méi)有,那必須先執(zhí)行相應(yīng)的類加載過(guò)程。 類加載就是把class加載到JVM的運(yùn)行時(shí)數(shù)據(jù)區(qū)...
內(nèi)存抖動(dòng)指段時(shí)間內(nèi)大量對(duì)象創(chuàng)建和銷毀,伴隨著頻繁的gc 具體在androidstudio中用分析內(nèi)存,找到頻繁gc的對(duì)象修改代碼。 預(yù)防抖動(dòng) 1.避免循環(huán)中創(chuàng)建對(duì)象 2.避免...
Java Virtual Machine JVM 全稱 Java Virtual Machine,也就是我們耳熟能詳?shù)?Java 虛擬機(jī)。它能識(shí)別 .class后綴的文件,并...
數(shù)據(jù)結(jié)構(gòu)層面的優(yōu)化,能夠達(dá)到加快響應(yīng)速度以及減小內(nèi)存。 ArrayList,是對(duì)數(shù)組的封裝,數(shù)組便于修改和查看。對(duì)于增加和刪除arraylist的add 和remove方法中...