Его фактическая реализация,Почему getDefaultDisplay(). GetSize (размер точки) обновляет свой аргумент вместо того, чтобы возвращать значение?
public void getSize(Point outSize) {
synchronized (this) {
updateDisplayInfoLocked();
mDisplayInfo.getAppMetrics(mTempMetrics, mDisplayAdjustments);
outSize.x = mTempMetrics.widthPixels;
outSize.y = mTempMetrics.heightPixels;
}
}
, а также documentation не упомянул этот конкретный проект.
Возможно ли это из-за синхронизации? Насколько эффективно это было бы, если бы оно было возвращено вместо этого? Просто любопытно.
Кроме того, почему Point
используется вместо Dimensions
, поскольку Dimensions
, по-видимому, имеет смысл в этом контексте. Приносим извинения и игнорируем, если этот вопрос слишком тупой.
Возможно потому, что парень, который разработал эту часть, хотя было бы лучше –
«Может ли это быть из-за синхронизации?» -- возможно нет. Обычно этот шаблон предназначен для повторного использования объекта, чтобы избежать ненужного создания объектов. Это особенно важно при визуализации пользовательского интерфейса, где вы хотите избежать выделения объектов во время обработки 'onDraw()'. Здесь вызывающий может, возможно, использовать ранее выделенный «Точка», а не 'getSize()' всегда создавая новый. – CommonsWare
Спасибо @CommonsWare. Это полезно.! –