this repo aims to collect some high quality basic knowledge Android Blog. Just like source code analysis or something.
這個倉庫致力於收集我在學習 Android 開發過程所遇到的高質量的基礎知識文章. 類似於原始碼分析之類的, 可以幫大家加深對基礎原理的理解.
GitHub
0. Chapter Start
> 前言
現在網路上有太多的知識可供學習, 但是作為一個自學者, 是好事也是壞事, 好事指不用擔心沒資源, 壞事是指對學習效率,理解程度和知識體系搭建都不太好.網上的文章不全是高質量的, 而且很多都是重複的碎片化知識,大家寫的都差不多.所以為了自己的系統學習, 建議買書, 碰到哪個模組不懂再找大牛的 Blog 加深理解.
所以可以看到我推薦的基本都是成一個小體系的系列文章, 可以幫助我們形成一個好的”學習思維樹”. 而不是一大堆”散葉”. 而其他文章主要是作為自己加深理解, 對某個知識點深入學習的參考.
首先可以肯定像我這種剛剛入門的在寫文章的高度和視野都不如大牛. 而對於基礎的知識,特別是涉及原始碼解析, 只要以一份資料為主就可以了. 最多加一兩份做參考. 所以, 基本這種型別的文章, 我會收藏整理在這篇文章裡並且永久更新. 同時自己也會利用課餘時間把自己的實踐專案以一個入門的學習者的視角解析, 相信這樣對初學的開發者是比較友好的.如果你和我也一樣處在這個階段, 歡迎關注這篇文章.
1. Chapter UI
> View 的繪製原始碼解析
這裡推薦的是Carson_Ho的一系列原始碼分析教程, 主要是從 View 和 ViewGroup 的測量, 佈局和繪製過程進行詳細分析, 很多圖示十分清晰易懂, 對於初學者和進階者都是很不錯的學習資料. 如果有找到其他的好的教程我還會繼續加上.
- 自定義View基礎 – 最易懂的自定義View原理系列(1)
- 自定義View Measure過程 – 最易懂的自定義View原理系列(2)
- 自定義View Layout過程 – 最易懂的自定義View原理系列(3)
- 自定義View Draw過程- 最易懂的自定義View原理系列(4)
前面給了 View 的繪製最主要的三個過程進行了詳細分析的 Blog, 在前面的閱讀基礎上,下面給出郭霖大神的 View 的工作原理系列文章. 相信在讀完以下四篇文章之後你會對 View 有一個重新認識的.
- Android LayoutInflater原理分析,帶你一步步深入瞭解View(一)
- Android檢視繪製流程完全解析,帶你一步步深入瞭解View(二)
- Android檢視狀態及重繪流程分析,帶你一步步深入瞭解View(三)
- Android自定義View的實現方法,帶你一步步深入瞭解View(四)
> View 相關類解析
這個主要是介紹一些對自定義 View 過程中需要仔細瞭解的一些類的使用.
> XML使用示例
這裡推薦Keegan小鋼的Android樣式的開發相關教程, 通過十分簡潔的小例子幫你快速實現對 XML 的瞭解和使用.
- Android樣式的開發:shape篇
- Android樣式的開發:selector篇
- Android樣式的開發:layer-list篇
- Android樣式的開發:drawable彙總篇
- Android樣式的開發:View Animation篇
- Android樣式的開發:Property Animation篇
- Android樣式的開發:Style篇
> 動畫
Android 動畫介紹, 感謝阿祥JOKER 分享.
重點!!!這裡還是推薦郭霖大神的文章. 然後後面補充一篇偏知識點式的文章供複習.
- Android屬性動畫完全解析(上),初識屬性動畫的基本用法
- Android屬性動畫完全解析(中),ValueAnimator和ObjectAnimator的高階用法
- Android屬性動畫完全解析(下),Interpolator和ViewPropertyAnimator的用法
- 補充參考:Android動畫,一篇就夠, 感謝Shaun白一辰的分享.
> 事件分發
事件分發是一個重要的知識點, 在面試中也有很大機率被問到.在開發中經常會遇到, 只有徹底理解好了在寫程式碼時候才能思路清晰.希望以下文章能幫助你我弄清事件分發機制.
2. Java API
這裡主要是對 Java API 中的一些重要的原始碼解析進行收集. 同時也是面試重點, 希望能加深對 Java 的認識. 做到真的理解底層實現而不是隻會使用.
由於 Java 面太廣, 所以在這裡主要是以知識點的形式覆蓋基本概念. 這裡推薦 樹上月 的教程. 從 Blog 介紹看接觸 Java 有一段時間, 所以分析會比較深入且正確. 更主要的是, 他把 Java 類文章基本都串起來了, 共有 38 篇可供學習. 文章太多就不一一貼連結了…