jumboMode(dexOptions)的优缺点是什么?

Tob*_*ias 11 android android-studio android-gradle-plugin dexoptions

我的Android构建~~是~~很慢.3-5分钟.

我删除了很多依赖项,现在我可以在没有multidex的情况下构建 - yay.

不过我问自己手动设置巨型模式是否有意义......

jumboMode

启用时,它允许在dex文件中使用更多的字符串/sf/answers/1695706981/

  • jumbo模式有disadavantes吗?
  • 应该永远在吗?(或更好)
  • 它对构建速度有影响吗?

Ani*_*bla 0

Q1:Jumbo 模式没有任何缺点,反而有一些优点。

\n\n

Jumbo 模式涉及 DEX 文件中可以引用的字符串数量,默认情况下使用 16 位宽整数进行索引。因此,如果您的应用程序编码超过 2^16 个字符串,dx 工具也会失败。然而,对于字符串引用,有一个补救措施:DEX 支持 \xe2\x80\x9cjumbo opcodes\xe2\x80\x9d ,它允许 32 位宽的字符串引用。Android Gradle 构建脚本中的 jumboMode 标志启用此模式,允许引用最多 2^32 个字符串。

\n\n

这意味着如果您的 dex 文件中有超过 2^16 个引用,您可以jumboMode通过允许最多 2^32 个引用来适应这种情况。这是通过强制字节码始终使用“巨型字符串”(2^32) 引用来完成的,以帮助避免合并 dex 文件时出现问题。

\n\n

Q2:这取决于你的类文件。如果您不想担心的话,可以随时将其打开。

\n\n

Q3:仅对构建速度没有影响。

\n