Android 高級(jí)開發(fā)的技術(shù)大綱

整理了一份 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容