原创 常用基礎排序算法回顧

一、引言 本文主要是複習總結了下一些常用的基礎算法,按照自己的理解手打、驗證,因此本文並沒有做深入探究,只是描述本人所理解的實現思路,更多算法知識還請研讀如: 《算法》 第四版 《數據結構與算法分析-Java語言描述》 二、常見基礎算法

原创 常用基礎算法回顧

一、引言 本文主要是複習總結了下一些常用的基礎算法,按照自己的理解手打、驗證,因此本文並沒有做深入探究,只是描述本人所理解的實現思路,更多算法知識還請研讀如: 《算法》 第四版 《數據結構與算法分析-Java語言描述》 二、常見基礎算法

原创 Goodbye

從畢業至今已經有一年出頭了,感謝簡書的陪伴,說到離開是有些許不捨,簡書的文章編輯與分類功能依舊是我用過的平臺中最喜歡的。大概是個人原因吧,我已經不習慣於首頁推薦的各種流量文章了,因爲我只是單純地想寫寫總結、看看技術文章,能划水的時候看看動態

原创 LruCache 與 LinkedHashMap

一、引言 關於 LruCache 的總結,因爲工作推遲了好長一段時間,因此趁現在有點空趕緊記錄下來。 相信很多童鞋也跟我一樣,最初都是使用 LruCache 作爲 ImageLoader 圖片緩存中的一環,但是使用的過程中,我們並不關心它這

原创 Android 進程間通信

一、引言 關於Android中的進程間通信,我們知道大概可以通過以下方式進行: Bundle:四大組件間通信 File:文件共享 ContentProvider:應用間數據共享 AIDL:Binder機制 Messager:基於

原创 Retrofit源碼解析

一、引言 Retrofit和 OKHttp同爲 square 出品的網絡請求相關庫,不同的是 Retrofit本身不進行網絡請求,而是作爲一個協調者,協調其他組件共同處理網絡請求。用官網描述來說就是:Retrofit是可插拔的,它允許不同的

原创 H5與原生混合開發總結

一、引言 本文主要針對H5與原生混合開發中的交互問題進行討論,當然,這僅僅是鄙人的見解,求同存異。 本文主要針對以下問題進行總結: 如何實現JS與Andriod的交互? 針對WebView啓動慢問題,如何優化? 如果存在多個H5模塊包,如

原创 再讀Handler機制

一、引言 距離上一次閱讀Handler源碼已經半年多過去了,當時讀源碼的目的更多的是忙於畢業找工作,爲面試做準備,現在則是想更多地瞭解Android相關機制。半年多過去了,回頭看當時的源碼解讀筆記(當時不寫博客),發現有很多地方並沒有很好

原创 OkHttp源碼解析

一、引言 在我們日常開發中,OkHttp可謂是最常用的開源庫之一,目前就連Android API中的網絡請求接口都是用的OkHttp,好吧,真的很強。 在上學期間我也曾閱讀和分析過OkHttp的源碼,並記錄在筆記中,不過現在再去翻看的時候發

原创 通過Lifecycle-Aware 組件處理生命週期[翻譯]

引入概念 Lifecycle解決的問題: 用於響應、管理其他應用組件(如Activity和Fragment)的改變狀態,相對於我們自己寫事件監聽回調接口,Lifecycle會更加簡潔、易於管理。 大部分應用組件都存在於Androi

原创 從使用到源碼—GreenDao(代碼生成即完結篇)

引言 在此之前,鄙人寫過greenDao的“基本使用”和“核心類理解”兩篇文章,感興趣的童鞋可以看看。 在“基本使用”一文中介紹過greenDao的兩種代碼生成方式,一種是在gradle配置一下,然後編譯期間就會在指定文件夾中生成Da

原创 使用可觀察數據對象 [翻譯]

官方英文文檔:https://developer.android.google.cn/topic/libraries/data-binding/observability 一、介紹 觀察能力是指一個對象可以通知別人它的數據已經發生改變的能力

原创 給Android開發者的Flutter指南 (上) [翻譯]

官方英文原文: https://flutter.io/flutter-for-android/ 提示:由於篇幅很長,所以分爲上下兩篇,給Android開發者的Flutter指南 (下)已經翻譯完成,感興趣的同學可以看看 一、對應於 V

原创 數據綁定適配器(Binding Adapters)[ 翻譯]

官方英文原文:https://developer.android.google.cn/topic/libraries/data-binding/binding-adapters 一、介紹 Binding Adapter負責調用合適的框架調用

原创 給Android開發者的Flutter指南 (下) [翻譯]

官方英文原文: https://flutter.io/flutter-for-android/ 說明:此文上接 給Android開發者的Flutter指南(上)。 四、工程結構與資源 1. 在哪放置不同分辨率(resolution-de