【发布时间】:2016-11-23 21:56:11
【问题描述】:
我想知道R.java 文件声明/分配是否会占用 64K 方法限制的空间?
也许是因为变量的设置/获取?
提前致谢。
【问题讨论】:
标签: android r.java-file dex android-multidex
我想知道R.java 文件声明/分配是否会占用 64K 方法限制的空间?
也许是因为变量的设置/获取?
提前致谢。
【问题讨论】:
标签: android r.java-file dex android-multidex
R 类及其子类没有普通方法,但它们通常有一个无操作构造函数方法,并且可能还有一个静态构造函数方法,用于初始化一些不能在dex文件中静态初始化。
因此,假设您有大约 10 个类,包括 R 类及其各种子类(R.string、R.layout 等),您最终将获得大约 10-20 个额外的方法引用。
【讨论】:
R.java 不包含方法,仅包含 static 字段。方法和字段都有 65,536 个限制,但它们是分开的。 99% 的时间你会在达到字段限制之前达到方法限制。
如果您需要,我添加了计算dex-method-counts 库中字段数量的功能。
【讨论】: