【问题标题】:What is the maximum permissible length of android element id's?android元素ID的最大允许长度是多少?
【发布时间】:2016-07-11 23:39:33
【问题描述】:

在我们的元素 ID 越来越长的项目中工作。尽管我们尝试缩短它们,但应用程序的复杂性在我们的布局中造成了长元素 id 的情况。那么,android id 元素的最大长度是多少?

【问题讨论】:

  • "...应用程序的复杂性在我们的布局中造成了长元素 id 的情况" 您的 id 命名约定是什么?听起来您太冗长了,尤其是因为每个布局的 ID 只需要唯一。
  • @TimMalseed 它仍然易于管理,但典型的 id 名称约为 30-50 个字符。复杂的原因是由于 AndroidStudio 中的提前输入功能。它显示对特定元素名称的所有匹配引用,无论它来自哪个布局。虽然最初很方便,但在尝试为片段布局识别活动的特定布局 ID 时,当您在多个布局中重用 ID 时会造成混乱。
  • 很公平。就个人而言,我无法使用这种命名约定。我会花更多的时间写 id 而不是搜索它们。

标签: android android-layout


【解决方案1】:

XML 不是问题,但在构建项目时,您的 ID 是 R 类的一部分,在这种情况下,Java 语言或编译器的潜在限制才是重要的。

Java SE documentation 说:

命名

[...]

变量名区分大小写。变量名可以是任何合法的 标识符 - 无限长度 Unicode 字母序列和 数字 [...]

但是不要开始聚会,当你深入挖掘时,你会发现“Java 虚拟机规范”文档,其中包含标题为 4.11. Limitations of the Java Virtual Machine 的部分,其中揭示了:

字段和方法名称、字段和方法描述符的长度, 和其他常量字符串值(包括那些由 ConstantValue(第 4.7.2 节)属性)被限制为 65535 个字符 CONSTANT_Utf8_info 结构的 16 位无符号长度项 (§4.4.7)。

不过,“64K 应该对每个人都足够了”:)

【讨论】:

  • 是的.. 64K 应该绰绰有余.. 我更担心它是 64 个字符或类似的东西。虽然,我尝试将我的元素 ID 保持在 64 个字符以下!
猜你喜欢
  • 2018-08-06
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2018-02-20
  • 2013-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多