第一章 移動架構師築基必備Java技能
1、深刻Java泛型
泛型的做用與定義
通配符與嵌套
泛型上下邊界
RxJava中泛型的使用分析html
2、註解深刻淺出
2.1 自定義註解
自定義註解與元註解
註解參數與默認值android
2.2 註解的使用
APT,編譯時註解處理器
插樁,編譯後處理篩選
反射,運行時動態獲取註解信息web
3、併發編程
3.1 線程共享和協做
CPU核心數,線程數,時間片輪起色制解讀
synchronized、Lock、volatile、ThreadLocal如何實現線程共享
Wait,Notify/NotifyAll,Join方法如何實現線程間協做面試
3.2 站在巨人肩上操做CAS
CAS的原理
CAS帶來的ABA問題之原子操做類的正確使用實戰算法
3.3 僅會用線程池是不夠的
Callbale、Future和FutureTask源碼解讀
線程池底層實現分析
線程池排隊機制
手寫線程池實戰
Executor框架解讀實戰數據庫
4、數據傳輸與序列化
5、Java虛擬機原理
5.1 垃圾回收器機制
對象存活及強、弱等各類引用辨析
快速解讀GC算法之標記-清除、複製及標記-整理算法
正確姿式解讀GC日誌編程
5.2 內存分配策略
JVM棧楨及方法調用詳解
JMM,Java Memory Model小程序
6、反射與類加載
6.1 反射基本概念與Class
三種獲取Class對象的方式
獲取構造器實例化對象與屬性信息
包信息和方法
Hook技術動態編程vim
6.2 ClassLoader類加載器
動態代理模式
Android Davilk與ART
PathClassLoader、DexClassLoader與BootClassLoader
雙親委託機制微信小程序
7、高效IO
7.1 Java IO 體系
裝飾者模式
InputStream與OutputStream
Reader與Writer
7.2 File文件操做
FileChannel
內存映射
第二章 Android框架體系架構
1、高級UI晉升
1.2 View渲染機制
1.3 經常使用View
1.3.1.1 源碼解析
1.3.1.2 佈局管理器LayoutManager
1.3.1.3 條目裝飾ItemDecoration
1.3.1.4 ViewHolder與回收複用機制
1.3.2.1 源碼解析
1.3.2.2 圓角陰影實現原理
1.3.2.3 5.0如下陰影與邊距的適配
1.3.3.1 加載機制與優化
1.3.3.2 與Fragment的結合
1.3.4.1 使用與原理
1.3.4.2 js與Java交互
1.3.4.3 多進程WebView使用實戰
1.3.4.4 WebView和Native的通訊框架手寫實戰
1.4.1 ConstraintLayout
1.4.2 LinearLayout
1.4.3 RelativeLayout
1.4.4 FrameLayout
1.4.5 GridLayout
1.5 自定義View實戰
1.5.6 組合自定義View實戰
1.5.7 繼承自定義View實戰
1.5.8 徹底自定義view實戰
2、Android組件內核
2.1.1 四大啓動模式與Intent Flag
2.1.2 APK啓動流程與ActivityThread解析
2.1.3 Activity生命週期源碼解析
2.1.4 實戰Splash廣告載入與延時跳轉
2.2.1 Fragment事務管理機制
2.2.2 Fragment轉場動畫
2.2.3 嵌套處理,ChildFragmentManager
2.3.1 start與bind區別與原理
2.3.2 自帶工做線程的IntentService
2.3.3 前臺服務與Notify
2.4 組件間通訊方案
2.4.6 實戰:自動感知生命週期事件總線LiveDataBus
3、大型項目必備IPC
3.1.1 AIDL配置文件
3.1.2 C/S架構Binder原理
3.1.3 Messager
3.1.4 實戰告別繁瑣的AIDL,進程通訊框架原理與實現
3.2.1 Broadcast
3.2.2 ContentProvider
3.2.3 文件
3.2.4 Socket
3.2.5 共享內存與管道
4、數據持久化
4.1 Android文件系統
4.2.1 Shared Preference原理
4.2.2 微信MMKV原理與實現
4.2.2.1 MMAP內存映射
4.2.2.2 文件數據結構
4.2.2.3增量更新與全量更新
4.3.1 SqliteOpenHelper
4.3.2 Sqlite升級與數據遷移方案
4.3.3 實戰註解ORM數據庫框架
5、Framework內核解析
5.1 XMS內核管理
5.1.1 .1 Activity管理
5.1.1.2 實戰插件化核心啓動未安裝Activity
5.1.2.1 Windows體系
5.1.2.2 懸浮窗工具實現
5.1.4 實戰插件化框架原理與實現
5.2.1 Looper
5.2.2 Message鏈表與對象池
5.2.3 MessageQueue消息隊列與epoll機制
5.3.1 LayoutManager加載佈局流程
5.3.2 Resource與AssetManager
5.3.3實戰海量網易雲煥膚系統,加載外部APK資源
第三章 360°全方面性能調優
1.1 六大原則
(1)單一職責原則
(2)開閉原則
(3)里氏替換原則
(4)依賴倒置原則
(5)接口隔離原則
(6)迪米特法則
1.2 設計模式
1.2.1結構型模式
(1)橋接模式
(2)適配器模式
(3)裝飾器模式
(4)代理模式
(5)組合模式
1.2.2建立型模式
(1)建造者模式
(2)單例模式
(3)抽象工廠模式
(4)工廠方法模式
(5)靜態工廠模式
1.2.3行爲型模式
(1)模板方法模式
(2)策略模式
(3)觀察者模式
(4)責任鏈模式
(5)命令模式
(6)訪問者模式
1.2.4實戰設計模式解耦項目網絡層框架
1.3 數據結構
1.3.1 線性表ArrayList
1.3.2 鏈表LinkedList
1.3.3 棧Stack
1.3.4 隊列
(1)Queue
(2)Deque
(3)阻塞隊列
1.3.5 Tree
(1)平衡二叉樹
(2)紅黑樹
1.3.6 映射表
(1)HashTable
(2)HashMap
(3)SparseArray
(4)ArrayMap
1.4 算法
1.4.1 排序算法
(1)冒泡排序
(2)選擇排序
(3)插入排序
(4)快速排序
(5)堆排序
(6)基數排序
1.4.2 查找算法
(1)折半查找
(2)二分查找
(3)樹形查找
(4)hash查找
2、程序性能優化
2.1 啓動速度與執行效率優化
2.2 佈局檢測與優化
2.3 內存優化
2.4 耗電優化
2.5 網絡傳輸與數據存儲優化
2.6 APK大小優化
3、開發效率優化
3.2自動化構建系統Gradle
(1)多渠道打包
(1)發版自動釘釘
第四章 設計思想解讀開源框架
1、熱修復設計
1.4 Gradle自動補丁包生成
2、插件化框架解讀
3、組件化框架設計
4、圖片加載框架
4.1 圖片加載框架選型
4.2 Glide原理分析
4.2.2 從源碼的角度理解Glide的執行流程上篇、下篇
4.3 手寫圖片加載框架實戰
5、網絡訪問框架設計
5.1 網絡通訊必備基礎
5.1.5.1 SOCKS代理
5.1.5.2 HTTP普通代理與隧道代理
5.2 OkHttp源碼解讀
6、RXJava響應式編程框架設計
7、IOC架構設計
7.2 ButterKnife原理上篇、中篇、下篇
8、Android架構組件Jetpack
8.2 Navigation如何解決tabLayout問題
第五章 NDK模塊開發
1、NDK基礎知識體系
1.1 C與C++
1.1.6線程
1.1.7類
1.1.7.1函數、虛函數、純虛函數與析構函數
1.1.7.2初始化列表
1.2JNI開發
1.3Native開發工具
1.3.4.1Cmake
1.3.4.2Makefile
1.3.4.2FFmpeg交叉編譯
1.3.4.2X26四、FAAC交叉編譯
1.3.4.2解決全部移植問題
1.4Linux編程
2、底層圖片處理
3、音視頻開發
3.1多媒體系統
3.2FFmpeg
3.3流媒體協議
3.6實戰項目二:抖音視頻app
4、機器學習
4.1 Opencv
4.1.1.1灰度化、二值化
4.1.1.2腐蝕與膨脹
第六章 微信小程序
1、小程序介紹
2、UI開發
3、小程序項目實戰
第七章 Flutter
1、你好,Flutter
2、Flutter 編碼語言Dart詳解系列
3、Flutter框架原理與使用技巧
實戰發佈本身的Flutter庫
4、Flutter架構知識落地實現
第八章 架構師煉成實戰
1、架構設計
模塊化與組件化架構
3、新聞客戶端項目實戰
4、多格式播放器項目實戰
第九章 數據結構與算法
最後
Alvin老師已經將精品網課、書籍、BAT面試文檔、項目專題源碼等資料已分享在網盤中,並在持續更新中。歡迎關注Alvin老師微信號VX:Android-Alvin 前往領取!