前言 從剛開始做Android開始,就時刻謹(jǐn)記一條規(guī)則:如果有能實現(xiàn)功能的Android API,就不要用Java API。所以我很少用Timer,直到前一陣一個朋友問我: ...
前言 從剛開始做Android開始,就時刻謹(jǐn)記一條規(guī)則:如果有能實現(xiàn)功能的Android API,就不要用Java API。所以我很少用Timer,直到前一陣一個朋友問我: ...
前言 此篇文章記錄日常遇到的一個小坑:Handler的removeCallbacksAndMessages沒生效。 正文 需求: 需求:有1-5個超時任務(wù),如果某個任務(wù)在規(guī)定...
11、重寫Object.equals時,必須重寫Object.hashcode 如果需要重寫Object的equals方法,那么一定要重寫hashCode方法, 否則會在哈希...
7、拋棄廢棄的對象引用 當(dāng)一個對象不再使用時,應(yīng)該將該引用設(shè)置為null,避免該對象并不能被JVM回收。文中列出以下幾種情況: 數(shù)組中的對象,使用結(jié)束后要把對應(yīng)的未知的引用設(shè)...
1、考慮使用靜態(tài)生產(chǎn)方法替代構(gòu)造方法 如果某一個類擁有多個構(gòu)造方法,且參數(shù)各不相同,使用靜態(tài)的生產(chǎn)方法替代構(gòu)造方法的好處: 過多的構(gòu)造方法增加了使用者對于類的理解成本,并且很...
前言 沈陽剛剛?cè)肼?,最近在閱讀之前同事的代碼,因為他的架構(gòu)設(shè)計中使用了Handler模型,所以再次總結(jié)一下Handler的使用問題,這也面試的常見問題之一。 本文中可能涉及到...
@騎豬看大海_8731 分兩種情況:
1、如果網(wǎng)絡(luò)請求返回301重定向會重新發(fā)起請求
2、網(wǎng)絡(luò)請求失?。ǖ刂峰e誤,IO異常等)跟根據(jù)配置的次數(shù)重試;
上面的代碼主要關(guān)注兩處:
1、// 如果已經(jīng)超過最大的網(wǎng)絡(luò)請求追加數(shù),釋放連接,拋出協(xié)議異常
if (++followUpCount > MAX_FOLLOW_UPS) {
streamAllocation.release();
throw new ProtocolException("Too many follow-up requests: " + followUpCount);
}
2、recover方法里有介紹不能重試的幾種情況;
okhttp源碼解析(四):重試機(jī)制前言 這一篇我們分析okhttp的重試機(jī)制,一般如果網(wǎng)絡(luò)請求失敗,我們會考慮連續(xù)請求多次,增大網(wǎng)絡(luò)請求成功的概率,那么okhttp是怎么實現(xiàn)這個功能的呢? 正文 首先還是回到...
正文 本文主要列舉Java泛型與Kotlin泛型的基本知識,以及兩者的區(qū)別。 什么泛型 泛型程序設(shè)計是程序設(shè)計的一種風(fēng)格或或規(guī)范。簡單的說就是該類型可變,在編寫代碼時可以根據(jù)...
自從Google官方將OkHttp作為底層的網(wǎng)絡(luò)請求之后,作為OkHttp底層IO操作的Okio也是走進(jìn)開發(fā)者的視野,這個甚至是取代了java的原生IO庫的存在到底有什么特殊...
前言 本篇簡單介紹Android以及Java提供了的數(shù)據(jù)并發(fā)類。 什么是鎖 并發(fā)鎖分為兩種,一種是悲觀鎖synchronized,認(rèn)為所有的訪問都存在競爭關(guān)系,所以直接在底層...
最近CSDN的付費專欄推送通知好幾次了,一直在猶豫要不要寫?寫些什么內(nèi)容?萬一寫完了之后被噴了怎么辦?畢竟是收費內(nèi)容,文章的質(zhì)量要求還是非常高的,經(jīng)過一番心理斗爭,決定嘗試一...
前言 無論是剛剛加入Android的新人還是工作n年的老碼農(nóng),如何加載一張圖片到ImageView,都能輕松搞定。隨著Glide的發(fā)布,我已經(jīng)很久沒有寫過相關(guān)的代碼了,最近復(fù)...
前言 此文僅分析Applcation的創(chuàng)建過程。 正文 如果我們要啟動App,系統(tǒng)會創(chuàng)建ZygoteInit進(jìn)程啟動整個應(yīng)用,ZygoteInit.main是整個應(yīng)用啟動的入...
前言 最近做項目遇到了一個很奇怪的問題,情況如下: 創(chuàng)建對象TestBean,其中type和name需要接口返回并解析,time字段需要客戶端修改,做一些必要的記錄,希望ti...
前言 本文內(nèi)容來源于《深入理解Java虛擬機(jī)》,各大電商平臺均可購買。 正文 類加載的時機(jī) 類加載的整個生命周期: 加載 - 驗證 - 準(zhǔn)備 - 解析 - 初始化 - 使用 ...