После изменения свойства объекта LayoutParams нужно ли снова вызывать setLayoutParams?

У меня есть представление (содержащее объявление), которое мне нужно масштабировать, чтобы соответствовать ширине экрана в определенный момент времени (после загрузки объявления). Итак, у меня есть методsetHeight(myView) это вычисляет правильную высоту для данной ширины экрана и соответственно изменяет параметры макета представления. Важнейшая часть кода:

LayoutParams params = myView.getLayoutParams();
int width = myView.getWidth();
if (params != null && width > 0) {
    params.height = (int) Math.round(ratio * width);
}

Кажется, это работает по большей части, но иногда представление не масштабируется. Кажется, что только последовательно работает, если я добавлю следующую строку внизу:

myView.setLayoutParams(params);

Это тоже имеет смысл, так как Android Views вызываетrequestLayout() в ихsetLayoutParams() метод. И наоборот, я не вижу, как изменения в публичном поле (params.height) вызовет изменение макета.

С другой стороны, я постоянно нахожу в сети учебники, в которых параметры просто изменяются, а затем снова не устанавливаются в представление.

Итак, мой вопрос: правильно ли, что для немедленного обновления макета после изменения свойства LayoutParams мне нужно вызватьsetLayoutParams снова? И что простое изменение свойства приведет к изменению макета только в более поздний момент времени, когда изменение макета инициируется из другого места?