前言 從剛開始做Android開始,就時刻謹記一條規則:如果有能實現功能的Android API,就不要用Java API。所以我很少用Timer,直到前一陣一個朋友問我: ...

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