当前位置: 首页 > 面试题库 >

为什么从Android的性能提示中删除“避免只需要整数的枚举”?

商振
2023-03-14
问题内容

从官方开发人员文档中删除了“避免只需要整数的枚举”部分。(请参阅“ 为什么Android不使用更多枚举?”以获得旧版内容)

为什么?Android VM是否进行了更改,使技巧过时了?


问题答案:

Elliot Hugues在2011年的回答是,避免枚举的最初原因是出于性能原因……就像“处理性能”一样。由于该原因没有事实根据,因此已从官方文档中将其删除。

它是后来添加的,因为枚举在内存中添加的数据比使用整数要多得多。



 类似资料:
  • 问题内容: 通常我会尽可能避免转换类型,因为我认为这是不良的编码实践,并且可能会导致性能下降。 但是,如果有人要我解释为什么会这样,我可能会像前灯中的鹿一样看它们。 那么,为什么/何时铸造不好? 它对于Java,C#,C ++是通用的,还是每个不同的运行时环境都按照自己的方式处理? 欢迎使用任何语言的细节,例如为什么在c ++中不好? 问题答案: 您已经用三种语言标记了这三种语言,答案在三种语言之

  • 在React中,我尝试了两种方法: 然后更改状态this.setState(this.state) 克隆状态,更改状态克隆,然后更改此.setState(stateClone) 它们都起作用,产生相同的结果。为什么建议(在文档中)设置为状态克隆(使用Object.assign),而不是设置为状态本身?状态的对象标识在React中重要吗(没有Redux)?似乎只要调用setState,不管状态对象标

  • 为什么可能是这种测试要避免的事情。 我在对这个答案的评论中读到了这一点:https://stackoverflow.com/a/21172873/516167 标记应在其上进行注射的字段。 允许速记模拟和间谍注入 最小化重复模拟和间谍注入 参考:@InjectMocks JavaDoc。

  • Scott Meyers发布了他的下一本书EC 11的内容和状态。他写道,书中的一项可以是“在函数签名中避免”。 如果可以用作函数参数、返回类型或类模板或函数模板参数,则可以有条件地从重载解析中删除函数或类。 在这个问题中,显示了所有三种解决方案。 作为功能参数: 作为模板参数: 作为返回类型: 哪种解决方案应该是首选的,为什么我要避开其他人? 在哪些情况下,函数签名中避免d::estnable_

  • 问题内容: 我正在为表生成代理键,由于我的hi / lo算法,每次重新启动/重新启动计算机时,可能会出现间隙。 从主键或索引内部结构的角度来看,序列中没有间隙为什么很重要?我问这是为了更深入地了解mysql。 问题答案: 从主键或索引内部结构的角度来看,为什么在序列中没有空缺很重要? 这并不重要-是什么让您相信呢? 与主键有关的所有事情是,它对于表中的所有数据都是唯一的。值是什么,或前后的记录是否

  • 我有这个密码: 这给我留下了编译器对我大喊大叫: 我花了很长时间才明白我必须改变Vec 代码现在编译,但我完全不明白这里到底有什么问题。为什么要在Vec定义中发送代码?我的意思是,这个特性已经实现了发送克隆。对我来说,这看起来相当多余。 有人能和我分享他的智慧吗,为什么我必须这样修改代码?