前言 前一段時(shí)間,在公司內(nèi)部進(jìn)行了一次QUIC協(xié)議的演講。當(dāng)時(shí)因?yàn)闀r(shí)間有限,沒(méi)有仔細(xì)的討論Cronet 的源碼細(xì)節(jié),僅僅只是介紹了QUIC的協(xié)議細(xì)節(jié)。本文就從Cronet源碼...
前言 前一段時(shí)間,在公司內(nèi)部進(jìn)行了一次QUIC協(xié)議的演講。當(dāng)時(shí)因?yàn)闀r(shí)間有限,沒(méi)有仔細(xì)的討論Cronet 的源碼細(xì)節(jié),僅僅只是介紹了QUIC的協(xié)議細(xì)節(jié)。本文就從Cronet源碼...
目錄 一、提出問(wèn)題 1.OkHttp底層也是通過(guò)Socket發(fā)送和接收請(qǐng)求,是如何支持http/https請(qǐng)求的?2.連接池的實(shí)現(xiàn)原理,如何支持多路復(fù)用?怎樣從連接池選擇復(fù)用...
耳目一新的分析。
Glide 4.9 源碼分析(一) —— 一次完整加載流程前言 若想把握 Glide 圖片加載的精髓, 首先要理清 Glide 圖片加載的一次流程 好的, 可以看到 Glide 的使用方式極為簡(jiǎn)單, 但往往越是簡(jiǎn)單的背后, 越是隱藏...
在應(yīng)用 AOP 之前,應(yīng)該思考幾個(gè)問(wèn)題: 明確你應(yīng)用 AOP 在什么項(xiàng)目 小范圍試用,選擇一個(gè)侵入性小的 AOP 方法 明確切入點(diǎn)的相似性 考慮切入點(diǎn)的數(shù)量和相似性,確定你是...
前言 旨在使用定制化Json內(nèi)容,快速生成客戶端界面,并帶一定的業(yè)務(wù)邏輯, 第一個(gè)迭代選取最常用的基礎(chǔ)組件,及容器類組件,以求能達(dá)到快速生成展示類頁(yè)面;并在后面迭代快速增加類...
EasyMvp 一個(gè)簡(jiǎn)單強(qiáng)大且靈活的MVP框架。項(xiàng)目地址:EasyMvp 特點(diǎn) 一個(gè) Activity 可以綁定多個(gè) Presenter,以達(dá)到最大的復(fù)用功能。 采用注解的方...
寫的太好了 非常清晰
OkHttp 3.7源碼分析(二)——攔截器&一個(gè)實(shí)際網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)OkHttp3.7源碼分析文章列表如下: OkHttp源碼分析——整體架構(gòu) OkHttp源碼分析——攔截器 OkHttp源碼分析——任務(wù)隊(duì)列 OkHttp源碼分析——緩存策略...
是AMNative的成員變量沒(méi)錯(cuò)的 文章上寫成AMProxy了
3分鐘看懂Activity啟動(dòng)流程背景介紹 從事開(kāi)發(fā)到了一定階段,想要提高就必須搞明白系統(tǒng)的一些工作原理。為什么?因?yàn)橹挥忻靼琢诉@些,你才能針對(duì)平臺(tái)的特性寫出優(yōu)質(zhì)的代碼。當(dāng)遇到棘手的問(wèn)題時(shí),你才能更快速的結(jié)合...
主要在 靜態(tài)的引用變量instance本身也是gcroot的一員
Android開(kāi)發(fā)從GC root分析內(nèi)存泄漏我們常說(shuō)的垃圾回收機(jī)制中會(huì)提到GC Roots這個(gè)詞,也就是Java虛擬機(jī)中所有引用的根對(duì)象。我們都知道,垃圾回收器不會(huì)回收GC Roots以及那些被它們間接引用的對(duì)象。但是...
“應(yīng)用運(yùn)行過(guò)程中非動(dòng)態(tài)加載的類都是通過(guò)dalvik.system.PathClassLoader的實(shí)例加載到虛擬機(jī)中的。這些類對(duì)象是GC root的一種,它們帶來(lái)的靜態(tài)變量永遠(yuǎn)不會(huì)被垃圾回收” 這句話是有問(wèn)題的。
靜態(tài)變量指向GC堆的引用也屬于GC ROOT,例子里靜態(tài)變量instance 指向 AccountMananger對(duì)象的引用,所以instance 也是gcroot成員,因?yàn)殪o態(tài)成員變量生命周期貫穿進(jìn)程始終,所以被instance 這個(gè)root成員引用的AccountMananger對(duì)象無(wú)法回收
Android開(kāi)發(fā)從GC root分析內(nèi)存泄漏我們常說(shuō)的垃圾回收機(jī)制中會(huì)提到GC Roots這個(gè)詞,也就是Java虛擬機(jī)中所有引用的根對(duì)象。我們都知道,垃圾回收器不會(huì)回收GC Roots以及那些被它們間接引用的對(duì)象。但是...
上一節(jié)有介紹了一些和內(nèi)存相關(guān)的基礎(chǔ)知識(shí),這一節(jié)就講一下怎么發(fā)現(xiàn)和處理內(nèi)存問(wèn)題。對(duì)于我們來(lái)說(shuō),最容易發(fā)現(xiàn)的內(nèi)存問(wèn)題當(dāng)然是OOM(OutOfMemoryError),應(yīng)用直接Cr...
昨天組里的同事遇到一些切換多語(yǔ)言的細(xì)節(jié)問(wèn)題,發(fā)現(xiàn)在Android N版本上配置應(yīng)用內(nèi)多語(yǔ)言沒(méi)有生效,正好拿出來(lái)做為一個(gè)面試題講解一下。 面試題:如何實(shí)現(xiàn)應(yīng)用內(nèi)多語(yǔ)言切換? 我...