整理了一份 Android 高級(jí)開發(fā)的技術(shù)大綱,如有遺漏和不足,歡迎指出和補(bǔ)充。
為了方便查看,大家可以查看xmind版圖片:

高級(jí)開發(fā)路線規(guī)劃.png
UI 繪制
UI繪制流程以及原理
- Android xml布局繪制到屏幕的原理
- Android 系統(tǒng)卡頓原理以及VSYNC信號(hào)機(jī)制
自定義View
- Paint & Canvas
- 貝塞爾曲線
- Camera幾何變換和原理
- 測(cè)量和布局
- 硬件加速
- PathMeasure
屬性動(dòng)畫
- 屬性動(dòng)畫源碼分析
- TypeEvaluator源碼分析和定制
- 自定義復(fù)雜動(dòng)畫
事件傳遞機(jī)制
- 事件分發(fā)詳解
- 解決嵌套滑動(dòng)問題
屏幕適配
- 自定義像素適配
- 百分比適配
- 修改系統(tǒng)density、densityDPI適配
- 劉海屏適配
其他
-
Material design
- 交互設(shè)計(jì)規(guī)范
- 組件熟悉和使用
- CardView源碼分析
- CoordinatorLayout實(shí)現(xiàn)原理和高級(jí)用法
- 自定義RecyclerView以及優(yōu)化
SVG的用法和原理
阿里VLayout原理
NDK 開發(fā)
C/C++相關(guān)
- Linux內(nèi)存布局原理、指針分析
- 結(jié)構(gòu)體、共同體
- so動(dòng)態(tài)庫(kù)的設(shè)計(jì)和編譯
- 命名空間、C++混合編程、函數(shù)擴(kuò)展
- C++編譯器對(duì)象管理模型分析
- C++類型轉(zhuǎn)換、操作符重載
- IO和異常處理
- 容器、對(duì)組、對(duì)象管理、類的構(gòu)造和析構(gòu)、友元函數(shù)
NDK編譯原理和語(yǔ)法詳解
-
MakeFile語(yǔ)法詳解
- 靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)原理和編譯流程
- MakeFile文件走讀
- 編譯、鏈接、處理程序
- MakeFile語(yǔ)法
- 預(yù)定義變量和宏函數(shù)
-
Cmake詳解
- Cmake編譯so庫(kù)過程
- Cmake與MakeFile的區(qū)別
- Cmake語(yǔ)法詳解
- CmakeList.txt文件構(gòu)成詳解
-
Shell語(yǔ)法詳解
- 語(yǔ)法詳解
- 方法參數(shù)傳遞機(jī)制
- Shell腳本編寫和執(zhí)行編譯ffmpeg庫(kù)
短視頻熱門技術(shù)實(shí)現(xiàn)
- 音視頻處理
- FFmpeg集成
- 音視頻編碼原理
- 音視頻解碼、音視頻同步處理
- 音視頻采集與編碼
- 直播推流的原理及實(shí)現(xiàn)
- 音視頻特效
- 人臉美化
- 熟悉OpenGL
- 人臉磨皮、美白算法
- 圖像處理
- 人臉關(guān)鍵點(diǎn)檢測(cè)
- 人臉貼紙
- 大眼瘦臉
- 其他
- 仿抖音靈魂出竅、幻影抖動(dòng)
- 音視頻合成原理
- 人臉美化
OpenCV
- opencv原理詳解、結(jié)構(gòu)體、顏色通道
- Android studio 通過 Cmake 配置opencv開發(fā)環(huán)境
- opencv實(shí)現(xiàn)車牌號(hào)碼檢測(cè)與識(shí)別、人臉識(shí)別
- opencv其他應(yīng)用
webRTC
- WebRTC詳解
- 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信原理
- 實(shí)現(xiàn)內(nèi)網(wǎng)通信的穿透機(jī)制原理
- 實(shí)現(xiàn)視頻通話
其他
- 阿里andfix熱修復(fù)和Sophix原理分析
- Java方法在Davik和Art虛擬機(jī)運(yùn)行原理
- 利用系統(tǒng)源碼實(shí)現(xiàn)GIF播放
- bsdiff實(shí)現(xiàn)增量更新
架構(gòu)
設(shè)計(jì)模式
- AOP面向切面編程(集中式登錄架構(gòu)設(shè)計(jì))
- Handler+Message源碼分析和手動(dòng)實(shí)現(xiàn)
- Binder原理
- PMS源碼分析和apk安裝原理
- AMS源碼分析和架構(gòu)設(shè)計(jì)
- App啟動(dòng)流程源碼解析
應(yīng)用架構(gòu)
- MVC思想和優(yōu)化
- MVP思想以及實(shí)際應(yīng)用、優(yōu)化
- MVVM與databinding
- Google android architecture架構(gòu)分析
- databinding原理與編譯時(shí)綁定布局和數(shù)據(jù)原理
應(yīng)用換膚技術(shù)
- 動(dòng)態(tài)式換膚詳解(QQ、美團(tuán)、網(wǎng)易云音樂等)
- 手動(dòng)實(shí)現(xiàn)動(dòng)態(tài)換膚框架(字體、狀態(tài)欄、自定義空間、fragment)
- 編譯式換膚詳解(高德地圖、今日頭條)
- 定制高擴(kuò)展性換膚框架、多種動(dòng)態(tài)皮膚加載與替換
組件化
- 主流實(shí)現(xiàn)方式分析
- Android項(xiàng)目組件化配置
- 手寫集中式路由管理(ARouter)
- 組件化打包發(fā)布
插件化
- 主流幾種插件化實(shí)現(xiàn)方式
- 手動(dòng)實(shí)現(xiàn)插件化架構(gòu)(RePlugin)
- activity啟動(dòng)流程及hook
- 插件化架構(gòu)設(shè)計(jì)、穩(wěn)定性
- 廣播插件化實(shí)現(xiàn)、apk安裝原理
- Android系統(tǒng)啟動(dòng)時(shí)加載app中so庫(kù)流程
- 手寫宿主管理插件系統(tǒng)架構(gòu)(360插件式)
- Android9.0插件化解決@hide修飾的api問題
- 手寫dlsym完成對(duì)libart.so解析
- IDA工具反編譯so,尋找hook點(diǎn)
- hook虛擬機(jī)類加載器
事件總線框架
- EventBus源碼與架構(gòu)分析
- 手寫事件總線實(shí)現(xiàn)(跨進(jìn)城)
- 餓了么進(jìn)程通信框架Hermes分析
- fastjson實(shí)現(xiàn)對(duì)象在多進(jìn)程共享
數(shù)據(jù)庫(kù)框架設(shè)計(jì)
- ORMLite核心架構(gòu)分析
- 面向?qū)ο笫綌?shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)
- 實(shí)現(xiàn)數(shù)據(jù)庫(kù)分庫(kù)(多群組、多用戶、多權(quán)限)如QQ
- xml腳本打造數(shù)據(jù)庫(kù)全量升級(jí)
網(wǎng)絡(luò)請(qǐng)求框架實(shí)現(xiàn)
- 網(wǎng)絡(luò)層分析和TCP/IP詳解
- okhttp源碼分析和架構(gòu)揭秘
- http與https分析
- okhttp任務(wù)隊(duì)列架構(gòu)設(shè)計(jì)
- socket連接池復(fù)用機(jī)制詳解
- 攔截器責(zé)任鏈模式實(shí)現(xiàn)重連、源碼分析、協(xié)議解析等
- 手動(dòng)實(shí)現(xiàn)完整網(wǎng)絡(luò)請(qǐng)求框架
圖片加載框架實(shí)現(xiàn)
- Glide源碼分析和設(shè)計(jì)思維(生命周期、緩存設(shè)計(jì))
- 建造者模式鏈?zhǔn)秸{(diào)用
- 請(qǐng)求隊(duì)列、轉(zhuǎn)發(fā)、加載器、加載策略、緩存策略實(shí)現(xiàn)
- LruCache和DiskLruCache源碼分析
- 手動(dòng)實(shí)現(xiàn)完整圖片加載框架
Rxjava
- rxjava架構(gòu)分析和源碼分析
- 高階泛型和泛型變換
- 鏈?zhǔn)秸{(diào)度、事件變換、線程切換、訂閱模式實(shí)現(xiàn)
IOC框架設(shè)計(jì)
- ButterKnife源碼分析
- Java文件結(jié)構(gòu)化文本詳解
- Dragger2源碼分析和原理實(shí)現(xiàn)
- APT注解手動(dòng)實(shí)現(xiàn)依賴注入式框架
- 手寫依賴注入框架,component實(shí)現(xiàn)依賴者與被依賴對(duì)象綁定
其他
- 手動(dòng)實(shí)現(xiàn)編譯時(shí)期Android動(dòng)態(tài)權(quán)限申請(qǐng)框架
- 動(dòng)態(tài)代理機(jī)制實(shí)際運(yùn)用(retrofit)
性能優(yōu)化
基礎(chǔ)
- app啟動(dòng)原理,冷啟動(dòng)、熱啟動(dòng),啟動(dòng)時(shí)間檢測(cè)
- app啟動(dòng)白屏優(yōu)化
- Doze與Studby模式介紹與兼容和Job Scheduler源碼詳解
- AsyncTask源碼詳解、ThreadPool線程池原理
- Handler機(jī)制
內(nèi)存泄漏分析
- 原因和如何避免
- 布局渲染流程和原理
- 過度渲染分析和優(yōu)化(Lint、MAT、TraceView等工具)
- LeakCanary 源碼分析以及內(nèi)存泄漏檢測(cè)原理
- 內(nèi)存管理機(jī)制(gc回收機(jī)制原理)
- 后臺(tái)服務(wù)優(yōu)化
- 如何保障服務(wù)的常駐內(nèi)存
- 雙進(jìn)程守護(hù)
- 多線程并發(fā)的性能問題
- 阻塞式隊(duì)列詳解
- 鎖機(jī)制原理分析與競(jìng)爭(zhēng)鎖
- 原子鎖、對(duì)象鎖以及NIO、BIO區(qū)別和應(yīng)用
- 微信的哈夫曼算法打造的無損壓縮技術(shù)
- 解決微博長(zhǎng)圖、大圖加載的問題
- webp詳解和應(yīng)用
- Android系統(tǒng)耗電優(yōu)化
- apk文件優(yōu)化
- Protocol Buffer數(shù)據(jù)交換格式
- Protocol Buffer二進(jìn)制序列化與反序列化
- 文件壓縮與解壓--7zip庫(kù)的移植和使用
- 冗余代碼分析和apk極限壓縮
- 防反編譯和加固技術(shù)的實(shí)際操作應(yīng)用
應(yīng)用安全
- dex文件編譯原理
- 混淆詳解(在app生成時(shí)流程以及mutlidex原理)
- https防抓包機(jī)制(拒絕hook)
- Dex加密與反編譯(app加固)
- 數(shù)據(jù)傳輸加密(服務(wù)端與客戶端雙向加密校驗(yàn))
歡迎大家加入Android集中營(yíng),一起探討技術(shù):601924443