我是Simple Framework的新手,但我没有找到任何关于使用Getters / Setters的建议,因为他们知道从性能的角度来看,他们在Android方面并不擅长。
http://developer.android.com/training/articles/perf-tips.html#GettersSetters
有没有办法在Simple-Framework中不使用它们?
答案 0 :(得分:1)
对于代码示例,我的答案可能会更好,但差不多。无论何时处理类中的字段,都要尝试使用实际变量与方法。
例子。在您的课程中,您将使用它,如下所示:
public class Foo
{
public Object bar; // This would be private if I was using a getter
public void doSomeStuff()
{
if(bar)
{
//work the bar
}
}
public Object getBar()
{
return bar;
}
}
然后在外部,它会像这样使用:
public class OtherFoo
{
public void somethingElse()
{
Foo ob = new Foo();
inner = ob.getBar();
}
}
外部getter在这里是pro / con,因为它们确实违反了规定的性能规则,但它们促进了更好的实践(保留的封装,更少的讨厌耦合,更好的可维护性等)。
尽管如此,这个性能提示可以随意使用,因为Android设备已经变得越来越强大(事实上,我很确定这个性能命中几乎已经从GingerBread中删除了) 。
我个人的建议是遵循OOP原则,尽可能使用getter,除非存在严重的性能问题。