Android基礎(chǔ)知識(shí)點(diǎn)
Android開發(fā)高級(jí)
Android技術(shù)難點(diǎn)
- AIDL、Binder洒试、多進(jìn)程倍奢、View的繪制流程、事件分發(fā)垒棋、消息隊(duì)列等卒煞。
- view的繪制;事件分發(fā)
- handler機(jī)制
Android框架層源碼掌握
Android包管理機(jī)制叼架,核心PackageManagerService
Window管理畔裕,核心WindowManagerService
Android Activity啟動(dòng)和管理,核心ActivityManagerService
根Activity工作流程
Context關(guān)聯(lián)類
各種原理碉碉,經(jīng)典第三方庫源碼系列
自定義LayoutManager柴钻,RecyclerView中如何自定義LayoutManager
VLayout實(shí)現(xiàn)原理,即如何自定義LayoutManager
Glide加載原理垢粮,緩存方案贴届,LRU算法
Retrofit的實(shí)現(xiàn)與原理
OKHttp3的使用,網(wǎng)絡(luò)請(qǐng)求中的Intercept
ButterKnife實(shí)現(xiàn)原理
Dagger依賴注入
熱修復(fù)實(shí)現(xiàn)原理,解決方案
組件化原理和解決方案
Android進(jìn)程通信以及多進(jìn)程開發(fā)
Android 多進(jìn)程和Application關(guān)系
經(jīng)典解決方案:多進(jìn)程通信解決方案:Andromeda
Android動(dòng)畫機(jī)制
Android繪圖原理
Android頁面恢復(fù)
混合開發(fā)及Android WebView應(yīng)用
APP調(diào)用WebView加載url
掌握WebView的封裝毫蚓,了解所有的WebSettings配置占键,掌握WebViewClient、WebChromeClient
掌握WebView和Native雙向通信機(jī)制元潘,會(huì)自己封裝雙向通信中間件
對(duì)WebView的封裝可參考:GitHub: AgentWeb
對(duì)通信中間件原理理解:GitHub:webprogress
Gradle畔乙,自動(dòng)化構(gòu)建,持續(xù)集成相關(guān)
Android系統(tǒng)
Android Studio編譯過程
其中使用到的編譯工具:
aapt翩概、aidl牲距、Java Compiler、dex钥庇、 zipalign
主要步驟描述:
通過aapt打包res資源文件牍鞠,生成R.java、resources.arsc和res文件(二進(jìn)制 & 非二進(jìn)制如res/raw和pic保持原樣)
處理.aidl文件评姨,生成對(duì)應(yīng)的Java接口文件
通過Java Compiler編譯R.java难述、Java接口文件、Java源文件吐句,生成.class文件
通過dex命令胁后,將.class文件和第三方庫中的.class文件處理生成classes.dex
通過apkbuilder工具,將aapt生成的resources.arsc和res文件嗦枢、assets文件和classes.dex一起打包生成apk
通過Jarsigner工具攀芯,對(duì)上面的apk進(jìn)行debug或release簽名
通過zipalign工具,將簽名后的apk進(jìn)行對(duì)齊處理文虏。
App啟動(dòng)加載過程
Android虛擬機(jī) Android App運(yùn)行的沙箱原則