Para expertos: validación de restricciones (DJ)

Las restricciones que especifique pueden dejar de ser válidas. Por ejemplo, si se añade la restricción de que el nodo A debe estar a la izquierda del nodo B, pero el nodo A se elimina del gráfico, esta restricción ya no es válida. Simplemente ya no tiene sentido, aunque no entre en conflicto con otras restricciones. La instancia de diseño automáticamente elimina las restricciones que no son válidas de vez en cuando porque son un desperdicio de memoria. La comprobación de validación se hace durante la ejecución del diseño. Normalmente no es necesario forzar una comprobación de validación, pero si desea hacerlo, llame a:
layout.validateConstraints();
Esto elimina todas las restricciones que no son válidas del Diseño jerárquico y borra la memoria. La validación de restricciones no comprueba las restricciones que tienen conflictos. El principal efecto de la validación es que, después de realizarla, el sistema de restricciones utiliza menos memoria.
Nota
Una restricción es válida si tiene sentido. Dos restricciones entran en conflicto válido si el sistema no puede satisfacerlas a la vez. Las restricciones que no son válidas no pueden entrar en conflicto porque no tienen sentido.
De ahí que la validación de restricciones y la resolución de restricciones sean fases distintas. La validación de restricciones realiza una prueba local rápida. Elimina completamente de la instancia de diseño las restricciones que no son válidas. No afecta a las restricciones que entran en conflicto.
La resolución de restricciones comprueba si un conjunto de restricciones válidas entran en conflicto entre sí. De este modo, la resolución de restricciones es un proceso complejo en una red de varias restricciones relacionadas. La resolución de restricciones decide qué restricciones se pueden resolver y cuáles no. Pero la resolución de restricciones no elimina las restricciones que entran en conflicto de la instancia de diseño, sino que ofrece una solución que puede pasar por alto algunas restricciones.