ConnectInterceptor 與服務(wù)端建立連接,并且獲得通向服務(wù)端的輸入和輸出流對(duì)象 創(chuàng)建輸入輸出流 建立連接 執(zhí)行下一個(gè)攔截器 ConnectInterceptor...
本文以com.android.tools.build:gradle:3.1.2 源碼來進(jìn)行分析,文章對(duì)應(yīng)的項(xiàng)目地址:aop-tech。 Transform API 是在1.5...
前言 上篇文章中講到, Android中所有視圖都是通過Window來呈現(xiàn)的, 如Activity, Dialog, Toast等, 本篇文章分別分析下Activity, D...
前言 Window表示一個(gè)窗口, Android中所有視圖都是通過Window來呈現(xiàn)的, 例如Activity, Dialog, Toast, PopupWindow等等, ...
前言 提到Handler相信大家都不陌生, 經(jīng)常被我們應(yīng)用于切換線程更新UI. 面試官也經(jīng)常會(huì)問到Handler異步消息處理機(jī)制中Handler, Looper, Messa...
前言 LinkedHashMap看名字就知道是鏈表結(jié)構(gòu), LinkedHashMap繼承了HashMap, 上篇文章已經(jīng)了解HashMap的數(shù)據(jù)結(jié)構(gòu)是數(shù)組+單鏈表, 那么Li...
前言 上篇文章講解了JDK1.7中的HashMap源碼, 主要采用數(shù)組+鏈表來實(shí)現(xiàn), 根據(jù)元素的hash計(jì)算出來的下標(biāo)相同時(shí), 也就是發(fā)生hash沖突的時(shí)候, 就會(huì)把這些元素...
前言 從開始學(xué)java起就接觸了HashMap, 用起來很簡單, 存的是鍵值對(duì), 取的時(shí)候根據(jù)鍵取出對(duì)應(yīng)的值. 但是它內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是怎么樣的, 是怎么實(shí)現(xiàn)存取操作, 始終沒...
前言 LRU及Least Recently Used, 最近最少使用算法, 也就是當(dāng)內(nèi)存緩存達(dá)到設(shè)定的最大值時(shí)將內(nèi)存緩存中近期最少使用的對(duì)象移除,有效的避免了OOM的出現(xiàn).上...
一. 引言RxJava ,簡單來說,一個(gè)實(shí)現(xiàn)異步操作的庫。代替了我以前使用Thread,AsyncTask實(shí)現(xiàn)異步操作,ScheduledExecutorService,Ex...
前言 剛看過EventBus和AndroidEventBus的源碼, 發(fā)現(xiàn)里面都有用到ThreadLocal, 那ThreadLocal到底為何物呢, 相信從事Java并發(fā)編...
前言 用過EventBus的小伙伴們應(yīng)該都知道EventBus有兩個(gè)版本, 一個(gè)是GreenRobot的EventBus, 一個(gè)是何洪輝大神的AndroidEventBus....
前言 EventBus是一個(gè)優(yōu)秀的事件訂閱/發(fā)布框架,充分解耦了事件的發(fā)布者和訂閱者,簡化了代碼。 記得剛來公司,老大讓我看的第一個(gè)框架就是EventBus, 用了這么久的...
前言 Jake Wharton大神的Butterknife可謂是造福廣大Android開發(fā)者, 再也不用重復(fù)寫findViewById和setOnClickListener了...