Skip to content

📱 Android原生开发知识笔记 —— 体系化梳理与渐进式技术演进

一、Android系统基础与架构演进

1.1 系统底层机制

  • [基础] 进程与内存管理
    • Linux内核层交互、Zygote进程孵化机制
    • Android 16内存压缩优化、后台进程限制策略(Android 12+延续)
  • [核心] 应用沙箱与安全边界
    • SELinux策略演进、应用隔离机制(从Dalvik到ART的变迁)

1.2 应用生命周期演进

  • [基础] 传统生命周期模型
    • 基于四大组件的回调机制
    • 配置变更(Configuration Change)对生命周期的影响
  • [核心] 现代生命周期管理
    • LifecycleOwner / LifecycleObserver 抽象
    • Android 15+ Predictive Back 对生命周期语义的扩展

二、UI开发体系:从传统View到现代Compose

2.1 传统View体系

  • [基础] View系统核心机制
    • 事件分发(dispatchTouchEvent/onInterceptTouchEvent/onTouchEvent)
    • 绘制流程(Measure-Layout-Draw)、硬件加速原理
  • [核心] 传统布局优化
    • ConstraintLayout 2.1约束优化、布局层级扁平化策略
    • ListView/GridView缓存机制与RecyclerView过渡方案

2.2 现代Compose体系

  • [核心] Jetpack Compose 1.9核心架构
    • 声明式UI原理:重组机制(Recomposition)、智能跳过(Skipping)
    • 状态管理:State/ViewModel集成、单向数据流架构
  • [前瞻] 高级Compose技术
    • 动画系统:高性能90fps动画、手势与物理动画集成
    • 跨平台实践:Compose Multiplatform多端代码共享(Android/Desktop/iOS)

三、应用组件与通信机制

3.1 组件化架构演进

  • [基础] 四大组件深度解析
    • Activity启动模式(standard/singleTop/singleTask/singleInstance)
    • Service绑定机制、前台服务优化(Android 9+限制)
  • [核心] 现代组件通信
    • Navigation Component 2.8:类型安全导航、深层链接处理
    • Hilt依赖注入:组件生命周期感知、ViewModel工厂

3.2 跨进程通信(IPC)技术栈

  • [基础] 传统IPC方案
    • Binder机制原理、AIDL接口定义、Messenger轻量级通信
  • [前瞻] 现代IPC优化
    • Jetpack DataStore跨进程同步、WorkManager集群任务调度

四、数据管理与持久化方案演进

4.1 本地存储技术演进

  • [基础] 传统存储方案
    • SharedPreferences原理与缺陷、SQLiteOpenHelper基础操作
    • 文件存储:内部/外部存储权限变迁(Scoped Storage适配)
  • [核心] 现代持久化方案
    • Room 3.0+:Kotlin协程支持、自动迁移、数据库加密
    • DataStore:Preferences DataStore vs Proto DataStore性能对比

4.2 数据层架构设计

  • [核心] Repository模式实践
    • 单一数据源原则、缓存策略(内存/磁盘/网络三级缓存)
    • Flow数据流统一:Room Flow + Retrofit Flow + Cache Flow整合

五、网络通信与API集成

5.1 网络层技术演进

  • [基础] 传统网络方案
    • HttpURLConnection基础使用、Volley队列管理(历史项目维护)
  • [核心] 现代网络架构
    • Retrofit+OkHttp 5.0:动态URL、自动重试、WebSocket优化
    • Ktor客户端:Kotlin原生协程支持、多平台兼容

5.2 API集成最佳实践

  • [核心] RESTful API设计
    • 分页处理(Paging 3.0集成)、错误统一处理、重试机制
  • [前瞻] AI API集成
    • 设备端LLM调用(ML Kit 2026)、云端AI服务安全通信

六、异步编程与线程管理演进

6.1 线程管理技术栈

  • [基础] 传统异步方案
    • Handler/Looper消息循环、AsyncTask生命周期问题
    • ThreadPoolExecutor自定义线程池
  • [核心] 现代异步架构
    • Kotlin协程2.2:Structured Concurrency、异常处理策略
    • Flow响应式编程:StateFlow/MutableStateFlow状态管理

6.2 后台任务管理

  • [核心] WorkManager 2.9
    • 精确延迟任务、链式任务依赖、约束条件配置
    • 与Foreground Service协作策略

七、性能优化与质量保障

7.1 启动与运行时优化

  • [核心] 启动优化
    • 冷/温/热启动分析、SplashScreen API 2.0(Android 12+)
    • 异步初始化框架、类加载优化
  • [前瞻] AI驱动优化
    • Android 16预测性资源加载、功耗自适应调度

7.2 质量保障体系

  • [核心] 性能监控
    • Android Studio Profiler 2026:Compose内存泄漏检测
    • Systrace/Perfetto深度分析、ANR根因定位
  • [基础] 测试金字塔
    • 单元测试(JUnit5+MockK)、UI测试(Espresso/Compose Testing)

八、安全架构与权限管理

8.1 权限系统演进

  • [基础] 传统权限模型
    • Android 6.0运行时权限、特殊权限(SYSTEM_ALERT_WINDOW)
  • [核心] 现代权限策略
    • Android 15+权限自动重置、位置权限粒度控制
    • 权限申请最佳实践:上下文感知、渐进式申请

8.2 数据安全架构

  • [核心] 端到端安全
    • Keystore加密存储、BiometricPrompt生物认证
    • SSL Pinning防抓包、证书透明度(Certificate Transparency)
  • [前瞻] 隐私沙盒
    • Android 16隐私保护增强、广告ID替代方案

九、现代应用架构设计

9.1 架构模式演进

  • [基础] MVP/MVC模式
    • MVP解耦实践、MVC局限性分析
  • [核心] MVVM/MVI架构
    • ViewModel+StateFlow+Compose最佳实践
    • MVI单向数据流:Intent->State->Effect模式

9.2 模块化与动态化

  • [核心] 组件化架构
    • 模块拆分策略、ARouter路由框架、模块间通信
    • 动态功能模块(DFM):Play Feature Delivery实践
  • [前瞻] 动态化方案
    • Kotlin Multiplatform业务逻辑共享、热修复安全边界

十、工程化与DevOps实践

10.1 现代构建体系

  • [核心] Gradle的使用与优化
    • 配置缓存(Configuration Cache)、版本目录(Version Catalog)
    • KSP替代kapt:注解处理器性能提升40%
  • [前瞻] 构建云化
    • 分布式构建(Bazel集成)、CI/CD流水线优化

10.2 质量门禁体系

  • [核心] 代码质量保障
    • Detekt/Ktlint代码规范、SonarQube质量门禁
    • Baseline Profiles启动性能提升
  • [基础] 发布流程
    • AAB格式优势、Play Console发布策略

上次更新于: