Skip to content

Android 面试知识库 - 完整内容总览 📚 ​

系统性整理的 Android 高级开发面试知识点,包含详细解析和代码示例


📊 内容统计 ​

模块文件数字数完成度
01_Foundation2~20k✅ 100%
02_UI1~18k✅ 100%
03_Async2~30k✅ 100%
04_Storage1~14k✅ 100%
05_Network1~18k✅ 100%
06_Architecture1~26k✅ 100%
09_Kotlin1~24k✅ 100%
10_Performance1~24k✅ 100%
总计10~174k✅ 核心完成

📂 完整目录结构 ​

android-interview-content/
├── README_COMPLETE.md                    # 本文件
├── 00_INDEX.md                           # 知识体系索引
│
├── 01_Foundation/                        # 基础核心
│   ├── 01_四大组件.md                    # ✅ Activity/Service/Broadcast/ContentProvider
│   └── 02_Activity_生命周期.md           # ✅ 生命周期详解
│
├── 02_UI/                                # UI 与布局
│   └── 01_View 绘制流程.md               # ✅ Measure/Layout/Draw
│
├── 03_Async/                             # 异步与多线程
│   ├── 01_Kotlin 协程详解.md             # ✅ 协程/Flow/StateFlow/SharedFlow
│   └── 02_Handler 机制详解.md            # ✅ Handler/MessageQueue/Looper
│
├── 04_Storage/                           # 数据存储
│   └── 01_Room 与数据存储.md             # ✅ Room/DataStore/缓存策略
│
├── 05_Network/                           # 网络编程
│   └── 01_Retrofit 与 OkHttp 详解.md     # ✅ Retrofit/OkHttp/拦截器
│
├── 06_Architecture/                      # 架构模式
│   └── 01_MVVM 架构与 Hilt 依赖注入.md   # ✅ MVVM/MVI/Clean Architecture/Hilt
│
├── 09_Kotlin/                            # Kotlin 核心
│   └── Kotlin 高级面试知识点汇总.md       # ✅ 空安全/协程/泛型/内联等
│
└── 10_Performance/                       # 性能优化
    └── 01_Android 性能优化全攻略.md      # ✅ 启动/内存/布局/网络/包体积

📖 各模块核心内容 ​

01_Foundation - 基础核心 ​

01_四大组件.md ​

  • ✅ Activity 四种启动模式详解
  • ✅ Service 启动方式对比(startService vs bindService)
  • ✅ BroadcastReceiver 静态/动态注册
  • ✅ ContentProvider 数据共享
  • ✅ Intent 传递数据方式及限制
  • ✅ 组件间通信方案

02_Activity_生命周期.md ​

  • ✅ 生命周期完整调用顺序
  • ✅ onSaveInstanceState 作用
  • ✅ 配置变更导致重建处理
  • ✅ Activity 栈管理
  • ✅ Intent Flag 使用
  • ✅ 内存泄漏场景与检测

02_UI - UI 与布局 ​

01_View 绘制流程.md ​

  • ✅ Measure 阶段(MeasureSpec 三种模式)
  • ✅ Layout 阶段(ViewGroup 布局)
  • ✅ Draw 阶段(onDraw 绘制)
  • ✅ 自定义 View 完整模板
  • ✅ 自定义 ViewGroup 实现(FlowLayout)
  • ✅ invalidate vs requestLayout
  • ✅ 性能优化(过度绘制、对象复用)

03_Async - 异步与多线程 ​

01_Kotlin 协程详解.md ​

  • ✅ launch vs async 区别
  • ✅ CoroutineScope(lifecycleScope/viewModelScope)
  • ✅ Dispatchers(Main/IO/Default)
  • ✅ 协程取消与异常处理
  • ✅ SupervisorJob 隔离异常
  • ✅ Flow 数据流(StateFlow/SharedFlow)
  • ✅ Flow 操作符(map/filter/catch/retry/flatMapLatest)
  • ✅ 协程与生命周期

02_Handler 机制详解.md ​

  • ✅ Handler/MessageQueue/Looper 关系
  • ✅ 消息发送流程源码分析
  • ✅ Looper.loop() 原理
  • ✅ 线程切换实现
  • ✅ ThreadLocal 原理
  • ✅ 内存泄漏场景与解决方案
  • ✅ Handler vs 协程对比

04_Storage - 数据存储 ​

01_Room 与数据存储.md ​

  • ✅ Room 快速开始(Entity/Dao/Database)
  • ✅ 高级查询(IN/LIKE/排序/聚合)
  • ✅ TypeConverter 类型转换
  • ✅ 数据库迁移(Migration)
  • ✅ DataStore(Preferences/Proto)
  • ✅ 缓存策略(LruCache/磁盘缓存/多级缓存)
  • ✅ Room vs SQLite vs SharedPreferences

05_Network - 网络编程 ​

01_Retrofit 与 OkHttp 详解.md ​

  • ✅ Retrofit 注解(GET/POST/PUT/DELETE)
  • ✅ 请求参数(Path/Query/Body/Field)
  • ✅ OkHttp 拦截器(应用/网络)
  • ✅ 缓存策略(CacheControl)
  • ✅ 文件上传下载(带进度)
  • ✅ Token 无感知刷新(Authenticator)
  • ✅ 统一响应处理(Result 封装)
  • ✅ 性能优化(连接池/DNS/请求合并)

06_Architecture - 架构模式 ​

01_MVVM 架构与 Hilt 依赖注入.md ​

  • ✅ MVVM 架构分层(View/ViewModel/Model)
  • ✅ 完整代码示例(Data/ViewModel/View)
  • ✅ Jetpack Compose + MVVM
  • ✅ Hilt 注解(@Inject/@Module/@Provides/@HiltViewModel)
  • ✅ Hilt 作用域(Singleton/ViewModelScoped/ActivityScoped)
  • ✅ 限定符(@Named/自定义 Qualifier)
  • ✅ Clean Architecture 分层
  • ✅ Use Case 实现
  • ✅ Repository 模式进阶
  • ✅ MVI 架构(State/Intent/Event)

09_Kotlin - Kotlin 核心 ​

Kotlin 高级面试知识点汇总.md ​

  • ✅ 空安全(?. ?: !! let)
  • ✅ 扩展函数与扩展属性
  • ✅ 高阶函数与 Lambda
  • ✅ 协程(launch/async/Scope/Dispatcher)
  • ✅ Flow 数据流(StateFlow/SharedFlow)
  • ✅ 委托(by lazy/Delegates)
  • ✅ 密封类(Sealed Class)
  • ✅ 内联函数(inline/noinline/crossinline)
  • ✅ 泛型与型变(in/out/reified)
  • ✅ 作用域函数(let/run/with/apply/also)
  • ✅ 完整 ViewModel 实战示例

10_Performance - 性能优化 ​

01_Android 性能优化全攻略.md ​

  • ✅ 启动优化(延迟/异步初始化/Startup 库/预加载)
  • ✅ 内存优化(LeakCanary/常见泄漏场景/Bitmap 优化)
  • ✅ 布局优化(减少层级/merge/ViewStub/RecyclerView 优化)
  • ✅ 网络优化(缓存/请求合并/去重/压缩)
  • ✅ 包体积优化(ProGuard/资源压缩/WebP/动态特性)
  • ✅ 性能检测工具(Profiler/Systrace/Perfetto)
  • ✅ 自定义性能监控(FPS/启动监控)

🎯 面试考点速查 ​

基础必考(⭐⭐⭐⭐⭐) ​

知识点难度出现频率关键概念
Activity 生命周期⭐⭐⭐⭐⭐⭐⭐onCreate/onStart/onResume
四大组件⭐⭐⭐⭐⭐⭐⭐Activity/Service/Broadcast/ContentProvider
View 绘制流程⭐⭐⭐⭐⭐⭐⭐Measure/Layout/Draw
Kotlin 空安全⭐⭐⭐⭐⭐⭐⭐?., ?:, !!, let
协程基础⭐⭐⭐⭐⭐⭐⭐⭐launch/async/Scope/Dispatcher
MVVM 架构⭐⭐⭐⭐⭐⭐⭐View/ViewModel/Model
作用域函数⭐⭐⭐⭐⭐⭐⭐let/run/with/apply/also

进阶必考(⭐⭐⭐⭐) ​

知识点难度出现频率关键概念
Handler 机制⭐⭐⭐⭐⭐⭐⭐⭐Handler/MessageQueue/Looper
Flow 数据流⭐⭐⭐⭐⭐⭐⭐⭐StateFlow/SharedFlow/操作符
Retrofit/OkHttp⭐⭐⭐⭐⭐⭐⭐拦截器/缓存/Token 刷新
Hilt 依赖注入⭐⭐⭐⭐⭐⭐⭐@Inject/@Module/作用域
内存泄漏⭐⭐⭐⭐⭐⭐⭐LeakCanary/常见场景
启动优化⭐⭐⭐⭐⭐⭐延迟/异步初始化
Room 数据库⭐⭐⭐⭐⭐⭐Entity/Dao/迁移

高级加分(⭐⭐⭐) ​

知识点难度出现频率关键概念
Clean Architecture⭐⭐⭐⭐⭐⭐分层/Use Case
MVI 架构⭐⭐⭐⭐⭐⭐State/Intent/Event
Binder 机制⭐⭐⭐⭐⭐⭐⭐IPC/AIDL
性能监控⭐⭐⭐⭐⭐⭐FPS/Systrace
泛型与型变⭐⭐⭐⭐⭐⭐in/out/reified
内联函数⭐⭐⭐⭐⭐⭐inline/noinline

📝 学习路径建议 ​

初级开发(0-2 年) ​

  1. 基础核心: Activity 生命周期、四大组件
  2. UI 基础: View 绘制流程、常用布局
  3. Kotlin 基础: 空安全、扩展函数、作用域函数
  4. 协程基础: launch/async、作用域、调度器

中级开发(2-5 年) ​

  1. 异步进阶: Handler 机制、Flow 数据流
  2. 网络编程: Retrofit、OkHttp、拦截器
  3. 数据存储: Room、DataStore、缓存策略
  4. 架构模式: MVVM、Hilt 依赖注入
  5. 性能优化: 内存优化、布局优化

高级开发(5 年+) ​

  1. 架构设计: Clean Architecture、MVI
  2. 系统原理: Binder、AMS、WMS
  3. 性能调优: 启动优化、性能监控
  4. 工程化: Gradle、模块化、CI/CD

🔥 高频面试题 Top 50 ​

Activity & 生命周期 ​

  1. Activity 生命周期详解
  2. 四种启动模式区别
  3. Activity 栈管理
  4. onSaveInstanceState 作用
  5. Activity 与 Service 通信

View & UI ​

  1. View 绘制三阶段
  2. MeasureSpec 三种模式
  3. 事件分发机制
  4. 自定义 View 步骤
  5. RecyclerView 优化

协程 & 多线程 ​

  1. 协程 vs 线程
  2. launch vs async
  3. Flow vs LiveData
  4. StateFlow vs SharedFlow
  5. Handler 机制原理

网络 & 存储 ​

  1. Retrofit 工作原理
  2. OkHttp 拦截器
  3. Token 无感知刷新
  4. Room 优势
  5. DataStore vs SharedPreferences

架构 & DI ​

  1. MVVM 优势
  2. ViewModel 保留原理
  3. Hilt 优势
  4. 依赖倒置
  5. Clean Architecture

Kotlin ​

  1. 空安全处理
  2. 扩展函数原理
  3. 作用域函数区别
  4. 协程挂起原理
  5. 密封类使用

性能优化 ​

  1. 启动优化方案
  2. 内存泄漏检测
  3. Bitmap 优化
  4. RecyclerView 优化
  5. 包体积优化

系统原理 ​

  1. Binder 机制
  2. AMS 作用
  3. WMS 作用
  4. 系统启动流程
  5. App 启动流程

实战问题 ​

  1. 如何实现图片加载
  2. 如何实现下拉刷新
  3. 如何实现分页加载
  4. 如何处理网络异常
  5. 如何测试 ViewModel

开放问题 ​

  1. 你做过哪些性能优化
  2. 你遇到的最大技术挑战
  3. 你如何学习新技术
  4. 你最喜欢的开源库
  5. 你的职业规划

🚀 下一步计划 ​

待补充内容(优先级中) ​

  • [ ] 07_DI/ - 依赖注入详解(Dagger2/Koin)
  • [ ] 08_Jetpack/ - Jetpack 组件全家桶
  • [ ] 11_Testing/ - 测试(JUnit/Mockk/Espresso)
  • [ ] 12_System/ - Android 系统原理(Binder/AMS/WMS)
  • [ ] 13_Engineering/ - 工程化(Gradle/模块化)
  • [ ] 14_NewFeatures/ - 新特性(Compose/KMP)

待完善功能 ​

  • [ ] 面试题库(按公司分类)
  • [ ] 代码示例(可运行项目)
  • [ ] 思维导图(知识图谱)
  • [ ] 模拟面试(Q&A 练习)
  • [ ] 简历指导(项目包装)

📚 参考资料 ​

官方文档 ​

优质博客 ​

开源项目 ​


📅 最后更新: 2026-04-14
📝 总字数: ~174,000 字
📂 文档数: 10 个核心文档
✅ 完成度: 核心知识点 100% 覆盖


祝面试顺利,拿到心仪的 Offer!🎯