感謝博主的分享,另外問(wèn)下博主是用什么工具閱讀gradle源碼的?
還有UP-TO-DATE和FROM-CACHE使用的是同一套緩存嗎?
期待博主解答。
Gradle Task UP-TO-DATEdim.red 環(huán)境:Gradle 4.4.1 相關(guān) Task 輸入輸出注解@Input,@InputFile,@InputDirectory,@InputFiles, @...
插件化谷歌并不推薦使用,也就國(guó)內(nèi)搞的熱火朝天。
Android9.0和10.0插件化原理實(shí)現(xiàn)Activity的插件化解決的一個(gè)根本性問(wèn)題就是插件中的Activity并沒(méi)有在宿主的AndroidManifest.xml中進(jìn)行注冊(cè),也就是說(shuō)我們需要啟動(dòng)一個(gè)未注冊(cè)的Act...
LeakCanary是一個(gè)在安卓平臺(tái)上檢測(cè)內(nèi)存泄漏的工具庫(kù)。 粗略的看了以下LeakCanary的實(shí)現(xiàn)原理。 LeakCanary地址 工程目錄 leakcanary-ana...
最近看了一些協(xié)議,下面就用一些例子來(lái)說(shuō)明HTTPS中SSL/TLS協(xié)議. 鮑勃和他們的朋友在不同的地方,他們通過(guò)網(wǎng)絡(luò)聯(lián)系. 但是他們發(fā)現(xiàn)這樣的方式不安全,因?yàn)橄⒃趥鬏斶^(guò)程中...
代碼地址和動(dòng)效圖 ?先上代碼和圖. github地址 ?用到了什么 如果你寫(xiě)過(guò)自定義view,那么你一定聽(tīng)過(guò)說(shuō)過(guò)Matrix,Matrix就是一個(gè)3*3的矩陣,他可以負(fù)責(zé)圖像...
定義:定義對(duì)象間一種對(duì)多種的依賴關(guān)系,使得每當(dāng)一個(gè)對(duì)象改變狀態(tài),則所有依賴它的對(duì)象都會(huì)得到通知并被自動(dòng)更新 觀察者模式是一種常見(jiàn)的模式,常見(jiàn)的BroadCast和EventB...
定義:要求一個(gè)子系統(tǒng)的外部與其內(nèi)部的通信必須通過(guò)一個(gè)統(tǒng)一的對(duì)象進(jìn)行 外觀模式就是面對(duì)對(duì)象中得迪米特原則的體現(xiàn)迪米特原則(Law of Demeter)又稱最少知識(shí)原則(Lea...
定義:當(dāng)一個(gè)對(duì)象的內(nèi)在狀態(tài)改變時(shí)允許改變其行為,這個(gè)對(duì)象看起來(lái)像改變了其類 使用場(chǎng)景:在一個(gè)App中,用戶做出的操作會(huì)根據(jù)當(dāng)前狀態(tài),如處于未登錄和登錄,則做出相應(yīng)的反應(yīng). 在...
定義:策略模式定義了一系列算法,并將每一個(gè)算法封裝起來(lái),而且使它們還可以相互替換.策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化. ?使用場(chǎng)景:我們要對(duì)一串?dāng)?shù)字進(jìn)行排序,?并且能...
定義:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣地構(gòu)建過(guò)程可以創(chuàng)建不同的表示 使用場(chǎng)景示例我們有一個(gè)產(chǎn)品,它包含了很多屬性 在構(gòu)造的時(shí)候通常我們使用構(gòu)造函數(shù)進(jìn)行初始化,但是...
單例模式應(yīng)該是應(yīng)用最廣的模式,也是最容易理解的模式了.在許多時(shí)候,我們整個(gè)系統(tǒng)值需要擁有一個(gè)全局對(duì)象,這樣有利我們的管理和使用.比如網(wǎng)絡(luò)的訪問(wèn)請(qǐng)求,線程池等.而寫(xiě)法多種多樣,...
單一職責(zé)(Single Responsibility Principle) 定義:一個(gè)類應(yīng)該是一組相關(guān)性很高的函數(shù)、數(shù)據(jù)的封裝 通俗的說(shuō),即一個(gè)類只負(fù)責(zé)一項(xiàng)職責(zé)這個(gè)概念很抽象...