gpt4 book ai didi

android - 用于 Gradle 构建的 dexOptions 中的 jumboMode 的目的是什么?

转载 作者:太空狗 更新时间:2023-10-29 13:18:20 27 4
gpt4 key购买 nike

根据 this post它允许在 dex 文件中使用更多的字符串,但我真的不明白它的含义以及对构建的影响。

最佳答案

Jumbo mode pertains to the number of strings that can be referenced in a DEX file, which by default are indexed using 16 bit wide integers. Therefore, if your application encodes more than 2^16 strings, the dx tool will fail as well. For string references however, there is a remedy: DEX supports “jumbo opcodes” which allow for 32 bit wide string references. The jumboMode flag in an Android Gradle build script enables this mode, allowing up to 2^32 strings to be referenced.

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

注意:这与方法引用的数量没有任何关系,所以当你的 dex 文件有超过 64k 的方法时,这种模式无法解决。

来源:https://developers.soundcloud.com/blog/congratulations-you-have-a-lot-of-code-remedying-androids-method-limit-part-1

根据我的经验,除了可能会增加构建时间外,这不会对构建产生任何显着影响。

关于android - 用于 Gradle 构建的 dexOptions 中的 jumboMode 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32067223/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com