【问题标题】:Is Android internal getter/setter really a code smell?Android 内部的 getter/setter 真的是代码味道吗?
【发布时间】:2016-11-17 12:41:36
【问题描述】:

在 Android 文档中有一个关于“性能提示”的article,它建议避免使用内部 getter/setter。 最近在MOBILESoft 2016 会议中的publication 同意此建议。

但是,根据lint documentation

从 Android 2.3 (Gingerbread) 开始,执行此优化 由 Dalvik 自动生成,因此无需更改您的代码;这只是 如果您的目标是旧版本的 Android,则相关。

有关于此的任何官方和更新信息吗?

【问题讨论】:

  • 根据“Ben,一位从事 JIT @ Google 工作的工程师”stackoverflow.com/questions/4912695/… 的回答,您无需担心从 Android 2.3 (Gingerbread) 开始使用内部 getter/setter
  • Android 对每个 dex 文件有 64k 方法(您应用的所有类的总数)的限制。因此,如果您的应用变大,保存不必要的方法可能是有意义的。

标签: java android performance lint


【解决方案1】:

我无法就该出版物发表意见,但我认为 this 可以支持 lint 文档所说的内容。

我自己的指导方针是更喜欢干净的代码/结构(在这种情况下,如果您不使用 getter/setter,您的类中可能会有代码重复,并且很难进行更改,因为您需要在某些地方进行更改) 而不是微观性能改进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 2017-01-28
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多