Ответ 1
Развертывание макетов может быть дорогостоящим, особенно на старых устройствах. Подумайте, что ViewStub является более ленивым механизмом для просмотра поддеревьев, которые могут или не могут быть расширены, а не способ поменять разделы иерархии представлений во время выполнения. Когда-то завышенный, нет ничего плохого в обмене между VISIBLE/GONE. GONE заставит структуру пропускать это поддерево во время дорогих обходов.
Это верно, если вам не нужна память, используемая надутым представлением. Настройка видимости на GONE не освобождает память; это только отмечает вид, который исчез для макета и целей рисования. Чтобы освободить память завышенного представления viewstub, вам действительно нужно было бы удалить завышенное представление и снова заменить его новым viewstub для будущего использования.