Android API14中的新属性类如何比内部getter/setter更好?

Android API14中的新属性类如何比内部getter/setter更好?,android,performance,Android,Performance,在他们的4.0版本中,他们引入了一个新的属性类,可以帮助您一般地设置或获取对象的内部值。此处描述(向下滚动一点):并在此处定义: 同时,他们说要避免内部的getter/setter 我是否错过了属性类不违反此规则的内容?我知道它在编码方面有好处,但在性能方面没有好处 想法 我是否遗漏了一些关于属性类如何不违反此规则的内容 它“违反”了规则。然而,这条规则并不是万能的,因为你引用的文件一开始就煞费苦心地试图解释。该文件概述了“微观优化”。正如文件所述,这些“几乎永远不会制造或破坏您的软件”。相反,

在他们的4.0版本中,他们引入了一个新的属性类,可以帮助您一般地设置或获取对象的内部值。此处描述(向下滚动一点):并在此处定义:

同时,他们说要避免内部的getter/setter

我是否错过了属性类不违反此规则的内容?我知道它在编码方面有好处,但在性能方面没有好处

想法

我是否遗漏了一些关于属性类如何不违反此规则的内容

它“违反”了规则。然而,这条规则并不是万能的,因为你引用的文件一开始就煞费苦心地试图解释。该文件概述了“微观优化”。正如文件所述,这些“几乎永远不会制造或破坏您的软件”。相反,它们是您可能希望在需要优化的特定位置进行优化的东西

您不需要避免内部getter和setter,除非它们会导致特定的性能问题。您通常可以通过使用Traceview并查看在getter和setter中花费的大量时间来确定这一点

因此,例如,在大数据集上的紧密循环中,尝试避免getter和setter可能是值得的。除此之外,使用getter和setter不太可能给您或用户带来任何实质性的痛苦。同样,让Traceview等工具成为您的指南


现在,非常奇怪的是,
属性
(例如,
ObjectAnimator
)的一些预期用途似乎需要比您的平均代码块更多的微优化。我想你只需要看看动画是否像你想的那样流畅。我还没有直接使用过
ObjectAnimator
,更不用说ICS的
属性了,所以我只能希望这一切都能正常工作。

好的,我很高兴听到这个消息。我通常来自J2EE背景,并且习惯于getter/setter。我想我会尝试启动已经为性能“调优”的应用程序,所以我想也许我应该尝试从内部g/s流程中退出。无论如何,我一定会注意到它是一个潜在的清理场所。感谢分享您的专业知识!物业类别是否有其他选择?在较低的android版本上使用。我想使用循环进度按钮库。