原创 Android 滑動衝突處理筆記

整理自:《Android 藝術探索》 關於事件傳遞機制部分:點擊事件分發機制 關鍵源碼筆記 1、衝突的幾種場景 外部滑動與內部滑動方向不一致 外部滑動與內部滑動方向一致 上述兩種情況的嵌套 2、解決衝突的前提 制定好規則,即

原创 Android Crash 筆記整理

內容摘抄自:《Android 開發藝術探索》 Crash 即奔潰,一般是由於程序發生了異常,卻沒有捕獲而導致的(即用 try-catch 語句捕獲),crash 時,系統會 kill 掉對應的正在運行的程序,導致閃退或者提示用戶

原创 【LeetCode】135. 分糖果

參考鏈接:leetcode 135. Candy 分糖果 + 很經典的貪心算法 根據題意,孩子 X 分配的糖果與第 X-1 和 X+1 個孩子的評分都有關係,即與前後孩子的評分有關係。 因此可以分爲兩個階段來處理。 第一階段,對

原创 【劍指 2】面試題 43:1~n 整數中 1 出現的次數

題目:輸入一個整數 n,求 1~n 這 n 個整數的十進制表示中 1 出現的次數。例如,輸入 12,1~12 這些整數中包含 1 的數字有 1、10、11 和 12,1 一共出現了 5 此。 對於 X ∈ [1, 9],1~n 整

原创 【筆記整理】Glide 4.9.0 的緩存機制

Glide 類中與內存緩存有關的變量Glide#memoryCache,如果用戶沒有通過 GlideBuilder#setMemoryCache(MemoryCache) 設置,則默認爲 LruResourceCache(繼承自

原创 【筆記整理】Glide 4.9.0 關於監聽生命週期

在 Glide 4.9.0 執行流程源碼解析 中說過,對於 with() 方法傳遞的參數(包括 Activity、Fragment、View 等),如果對應的 context 爲非 Application 類型的,Glide 會爲

原创 關於代碼編寫時「抽象」概念的一點點心得

關於抽象,是面向對象的特性,之前實際寫代碼的時候,可能注意得不是很好,對於這個點的理解也不是很到位。 但是因爲公司項目涉及到了組件化,不同組件之間的通信其實是依賴抽象接口來規範的,或者說是約束的。 而一開始,我在定義抽象接口的時候

原创 Android ConstraintLayout 設置子 view maxWidth 是父 ConstraintLayout width 的百分比

話不多說,直接上代碼: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:and

原创 簡單工廠、工廠方法、抽象工廠、Builder 模式 筆記整理

1、簡單工廠模式 首先,需要表明的是,簡單工廠模式並不是 23 種設計模式之一。它是工廠方法模式的一個弱化版本。 且簡單工廠模式又稱爲靜態工廠模式。 在該模式中,一般不定義工廠抽象類,而是直接將工廠類的工廠方法改爲靜態方法(因此纔

原创 Android 編寫一個簡單的 gradle 插件

如何從零開發一個 gradle 插件(一) 補充資料: Gradle 篇 – 從使用到深入理解

原创 CI、CD、Pipeline 概念

文章:什麼是持續集成(CI)/持續部署(CD)? 簡要摘抄: 對於 “持續” 一詞的概念 這並不意味着“一直在運行”,而是“隨時可運行”。 CI 即持續集成 持續集成(continuous integration)是在源代碼

原创 Android 手機存儲相關內容

應用操作的文件存儲位置分爲三個部分: 1、應用內部存儲私有文件目錄 2、應用外部存儲私有文件目錄 3、公有目錄 Android手機存儲分爲兩個部分:內部存儲和外部存儲,內部存儲一般是手機自帶的存儲空間,外部存儲指外插SD卡提供

原创 【Kotlin】—— 函數字面值(量)補充

之前在學習 Kotlin 的時候,有整理了一篇關於 函數字面值 的博客。然後今天再回顧相關知識點的時候,感覺對這個概念加深了一點理解,而且之前那篇文章可能說得不太明白,於是這裏又整理下相關的想法,做一個補充,希望能夠幫助大家更加通

原创 【筆記整理】Glide 4.9.0 關於數據加載之後的回調過程

當 Glide 從網絡加載原始的數據的時候,會來到 HttpUrlFetcher#loadData() 方法,在 Glide 4.9.0 執行流程源碼解析 中說過,當加載完成後,會通過 callback.onDataReady()

原创 HTTPS 筆記整理

主要摘抄自:SSL/TLS 協議運行機制的概述 1. 概述 1.1 基本概念 1.1.1 SSL (Secure Socket Layer,安全套接字層) SSL 爲 Netscape 所研發,用以保障在 Internet 上數據