不少安卓開(kāi)發(fā)的小伙伴在工作幾年后滚局,會(huì)覺(jué)得很迷惘居暖,到底自己的開(kāi)發(fā)能力處于什么水平,該如何努力成為對(duì)標(biāo)大廠的高級(jí)開(kāi)發(fā)藤肢,或者成為架構(gòu)師太闺。這里結(jié)合自身工作經(jīng)驗(yàn)及參照大廠招聘高級(jí)工程師的要求,整理了一份學(xué)習(xí)路線嘁圈,路線的內(nèi)容有中高級(jí)省骂,也有難度大的,但是學(xué)會(huì)后終身受用丑孩,拿下大廠高級(jí)崗冀宴、甚至資深崗,或在小廠當(dāng)Leader應(yīng)該不在話下温学。
Java高級(jí)
- 反射
- 注解
- 泛型
- 多線程:線程略贮、線程池、Synchronized仗岖、volatile逃延、ReentrantLock
- JVM:類加載、內(nèi)存模型轧拄、垃圾回收機(jī)制揽祥、強(qiáng)弱虛引用
- 集合容器:Collection、Map
安卓多線程
- Handler:Handler檩电、Looper拄丰、Message
- ThreadLocal
- AsyncTask
網(wǎng)絡(luò)
- HTTP、HTTPS
- TCP UDP
- TCP/IP
- SOCKET
- 網(wǎng)絡(luò)請(qǐng)求過(guò)程:三次握手俐末、四次揮手料按、證書、斷點(diǎn)續(xù)傳
視圖
- Surface
- View: 自定義View(measure卓箫、layout载矿、draw)
- Window:PhoneWindow、DecorView烹卒、ViewRoot
- 事件分發(fā)機(jī)制:滑動(dòng)沖突闷盔、dispatch
- 動(dòng)畫:幀動(dòng)畫弯洗、View動(dòng)畫、屬性動(dòng)畫
- ListView工作原理
- RecycleView工作原理逢勾、與ListView比較
- Webview:js通信牡整,加載優(yōu)化
圖片
- BitMap:加載效率、緩存策略敏沉、內(nèi)存計(jì)算
- Drawable
- 加載大圖
四大組件
- Acitivity難點(diǎn):四大launch模式果正、啟動(dòng)流程炎码、加載布局流程
- Service難點(diǎn):?jiǎn)?dòng)方式盟迟、啟動(dòng)流程、應(yīng)用場(chǎng)景
- ContentProvider難點(diǎn):生命周期潦闲、啟動(dòng)流程攒菠、原理
- Broadcast難點(diǎn):生命周期、注冊(cè)方式歉闰、啟動(dòng)流程
性能優(yōu)化
- 啟動(dòng)優(yōu)化
- UI優(yōu)化
- 內(nèi)存優(yōu)化
- 卡頓優(yōu)化
- 網(wǎng)絡(luò)優(yōu)化
- 數(shù)據(jù)庫(kù)優(yōu)化
- 包體積優(yōu)化
- ANR
三方庫(kù)
- 圖片加載: Gride辖众、Fresco、Picasso和敬、Android-UIL
- 網(wǎng)絡(luò)通信:Retrofit凹炸、Okhttp、Volley
- 異步處理:RxJava昼弟、RxAndroid啤它、RxBinding、EventBus
與時(shí)俱進(jìn)
- 跨平臺(tái):Flutter舱痘、ReactNative变骡、Weex
- 模塊化
- Hook技術(shù)
- 插件化:DroidPlugin、VirtualAPK 芭逝、Small塌碌、RePlugin
- 組件化:ARouter、CC
- 熱更新:Tinker旬盯、AndFix台妆、Robust
- 動(dòng)態(tài)化
Kotlin
- 擴(kuò)展函數(shù)
- 構(gòu)造函數(shù)
- 協(xié)程
框架
- Jetpack:ViewModel、LiveData胖翰、Lifecycles接剩、Navigation、Room泡态、Paging搂漠、WorkManager、DataBinding
- MVC
- MVP
- MVVM
- 設(shè)計(jì)模式:六大原則某弦、常見(jiàn)設(shè)計(jì)模式
安卓系統(tǒng)
- 系統(tǒng)啟動(dòng)流程
- 應(yīng)用啟動(dòng)流程
- 進(jìn)程間通信:IPC機(jī)制桐汤、Binder原理而克、AIDL
- 構(gòu)建:Grale、APT編譯注解處理器
- apk打包:打包流程怔毛、v1和v2簽名员萍、分包multidex、加固
- Dalvik與ART
- SystemServer:ActivityMagangerService拣度、PackageManagerService碎绎、WindowManagerService
- Dalvik與ART
- JNI:JNI基礎(chǔ)、NDK
音視頻
- 音視頻基礎(chǔ)
- ffmpeg
- WebRTC
- OpenGL
- Vulkan
- OpenCV
數(shù)據(jù)結(jié)構(gòu)與算法
關(guān)注V: “
碼農(nóng)翻身記
”抗果,回復(fù)888筋帖,免費(fèi)領(lǐng)取Android/Java高頻面試題解析、進(jìn)階知識(shí)整理冤馏、圖解網(wǎng)絡(luò)日麸、圖解操作系統(tǒng)等資料。關(guān)注后逮光,你將不定期收到優(yōu)質(zhì)技術(shù)及職場(chǎng)干貨分享代箭。