Skip to content

动态特性模块

字数统计:约 7000 字
难度等级:⭐⭐⭐⭐
面试重要度:⭐⭐⭐


1. 简介

动态特性模块 (Dynamic Feature Module) 允许按需下载功能:

  • 减少初始 APK 大小
  • 按需交付功能
  • 支持即时体验

2. 配置

gradle
// settings.gradle.kts
include(":app")
include(":feature:login")

// app/build.gradle.kts
dependencies {
    implementation(project(":feature:login"))
}

// feature/login/build.gradle.kts
plugins {
    id("com.android.dynamic-feature")
}

android {
    namespace = "com.example.feature.login"
}

dependencies {
    implementation(project(":app"))
}

3. 下载管理

kotlin
class FeatureManager {
    
    fun installFeature(feature: String) {
        val installRequest = InstallRequest.Builder().build()
        SplitInstallManagerFactory.create(context)
            .startInstall(installRequest)
    }
}

4. 面试考点

Q: 动态模块的好处?

  • 减少初始下载大小
  • 按需加载功能
  • 支持即时体验

本文完