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

时间:2016-09-03 15:10:22

标签: android thread-synchronization

它的实际实现是,

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

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

这可能是因为同步吗?如果返回它会有多有效?好奇。

此外,为什么使用Point代替Dimensions作为Dimensions似乎在此上下文中有意义。 我很抱歉,如果这个问题太愚蠢,请不要理睬。

1 个答案:

答案 0 :(得分:0)

意识到这个设计用于鼓励对象重用,就像在评论

中一样