为什么 getDefaultDisplay().getSize(Point size) 正在更新其参数而不是返回值?

Why getDefaultDisplay().getSize(Point size) is updating its argument instead of returning a value?

它的实际实现是,

public void getSize(Point outSize) {
    synchronized (this) {
        updateDisplayInfoLocked();
        mDisplayInfo.getAppMetrics(mTempMetrics, mDisplayAdjustments);
        outSize.x = mTempMetrics.widthPixels;
        outSize.y = mTempMetrics.heightPixels;
    }
}

而且 documentation 也没有提到这个特殊的设计。

会不会是同步问题?如果将其返回,效果如何?只是好奇。

此外,为什么使用 Point 而不是 Dimensions 因为 Dimensions 在这种情况下似乎是有意义的。 很抱歉,如果这个问题太愚蠢,请忽略。

意识到这个设计是用来鼓励对象重用的,就像在评论中一样