Android Studio 3.0的最新更新允许创建多种模块类型。其中一种新功能是“功能模块”。但我无法找到有关它的详细信息
现有的Android库模块和功能模块之间有什么区别?我为什么要使用后者?
我能看到的唯一区别是功能模块在清单中定义了一个应用程序。可以/应该将这些功能用作独立应用吗?在这种情况下,它们与实际的应用程序模块有什么不同?
答案 0 :(得分:29)
Feature modules are used in Instant apps and Android App Bundles so that when app requests a feature while using the instant app or App Bundles, the Play store loads only requested feature module code, and not others. In the case of Instant apps, once the user is done using the feature the code is discarded. If you are working on a regular app and not instant app, I think you should be using Android library module.
Android App Bundles will be used to break up your app into small chunks so that a user doesn't have to download all of the code in your APK if they don't need it.
答案 1 :(得分:2)
也许是更新版本...
例如,Android库是您将在您的应用程序中需要的功能,但也可能在其他应用程序中使用。这基本上是您应用程序中必不可少的部分。
动态功能模块(或Instant Apps的Instant Dynamic功能模块)可用于临时或基于功能的应用程序。 假设您的入职流程需要一个80MB的库扫描模块。因此,当用户输入入门信息时,将请求并安装该模块。一旦用户完成了入职过程,就不再需要扫描模块,因此您可以再次从应用程序中删除该模块。
另一个示例:您创建了一个具有基于订阅功能的应用程序。由用户支付订阅费用。.现在,用户可以访问8个模块(功能)中的3个,并且功能/模块已安装在用户设备上。
因此,总而言之,使用动态功能来减小应用的大小可能是明智的,甚至是必要的(达到最大APK大小)。
另请参阅: