为什么VelocityTracker不使用构造函数?

时间:2015-06-15 18:07:04

标签: java android

Android' VelocityTracker不使用构造函数,而是如果对象引用为null,则使用variableName = VelocityTracker.obtain()。我之前从未在Java中看到类似的东西。这是标准的设计模式,为什么要使用它?

1 个答案:

答案 0 :(得分:2)

这是一种工厂方法。 (至少)在Android中,obtain()是用于实现循环回收的类的传统方法名称。它们通常带有recycle()方法,当您不再需要它时,它会在对象上运行(另一个很好的例子是Message)。也就是说,它们跟踪对象池,并且当需要新对象时,可以调用obtain(),它可以返回已经创建的实例,而不是为新对象分配内存。