2021最新安卓高级知识体系

不少安卓开发的小伙伴在工作几年后,会觉得很迷惘,到底自己的开发能力处于什么水平,该如何努力成为对标大厂的高级开发,或者成为架构师。这里结合自身工作经验及参照大厂招聘高级工程师的要求,整理了一份学习路线,路线的内容有中高级,也有难度大的,但是学会后终身受用,拿下大厂高级岗、甚至资深岗,或在小厂当Leader应该不在话下。

image

Java高级

  • 反射
  • 注解
  • 泛型
  • 多线程:线程、线程池、Synchronized、volatile、ReentrantLock
  • JVM:类加载、内存模型、垃圾回收机制、强弱虚引用
  • 集合容器:Collection、Map

安卓多线程

  • Handler:Handler、Looper、Message
  • ThreadLocal
  • AsyncTask

网络

  • HTTP、HTTPS
  • TCP UDP
  • TCP/IP
  • SOCKET
  • 网络请求过程:三次握手、四次挥手、证书、断点续传

视图

  • Surface
  • View: 自定义View(measure、layout、draw)
  • Window:PhoneWindow、DecorView、ViewRoot
  • 事件分发机制:滑动冲突、dispatch
  • 动画:帧动画、View动画、属性动画
  • ListView工作原理
  • RecycleView工作原理、与ListView比较
  • Webview:js通信,加载优化

图片

  • BitMap:加载效率、缓存策略、内存计算
  • Drawable
  • 加载大图

四大组件

  • Acitivity难点:四大launch模式、启动流程、加载布局流程
  • Service难点:启动方式、启动流程、应用场景
  • ContentProvider难点:生命周期、启动流程、原理
  • Broadcast难点:生命周期、注册方式、启动流程

性能优化

  • 启动优化
  • UI优化
  • 内存优化
  • 卡顿优化
  • 网络优化
  • 数据库优化
  • 包体积优化
  • ANR

三方库

  • 图片加载: Gride、Fresco、Picasso、Android-UIL
  • 网络通信:Retrofit、Okhttp、Volley
  • 异步处理:RxJava、RxAndroid、RxBinding、EventBus

与时俱进

  • 跨平台:Flutter、ReactNative、Weex
  • 模块化
  • Hook技术
  • 插件化:DroidPlugin、VirtualAPK 、Small、RePlugin
  • 组件化:ARouter、CC
  • 热更新:Tinker、AndFix、Robust
  • 动态化

Kotlin

  • 扩展函数
  • 构造函数
  • 协程

框架

  • Jetpack:ViewModel、LiveData、Lifecycles、Navigation、Room、Paging、WorkManager、DataBinding
  • MVC
  • MVP
  • MVVM
  • 设计模式:六大原则、常见设计模式

安卓系统

  • 系统启动流程
  • 应用启动流程
  • 进程间通信:IPC机制、Binder原理、AIDL
  • 构建:Grale、APT编译注解处理器
  • apk打包:打包流程、v1和v2签名、分包multidex、加固
  • Dalvik与ART
  • SystemServer:ActivityMagangerService、PackageManagerService、WindowManagerService
  • Dalvik与ART
  • JNI:JNI基础、NDK

音视频

  • 音视频基础
  • ffmpeg
  • WebRTC
  • OpenGL
  • Vulkan
  • OpenCV

数据结构与算法

关注V: “码农翻身记”,回复888,免费领取Android/Java高频面试题解析、进阶知识整理、图解网络、图解操作系统等资料。关注后,你将不定期收到优质技术及职场干货分享。

你可能感兴趣的:(2021最新安卓高级知识体系)