Мне было интересно, если всякий раз, когда у меня возникает ситуация, когда мне нужно временно скрыть какой-либо элемент пользовательского интерфейса, достаточно его скрыть (многие фреймворки предоставляют такую возможность) или мне следует удалить объект в памяти и создать его позже, когда снова нужен (с теми же параметрами).
Каковы плюсы и минусы каждого решения? Я думал, что, возможно, скрывая элемент, вы сохраняете информацию о состоянии, которая может быть важной, и также экономите время выделения, так что, возможно, это лучший способ для элементов, которые должны быть скрыты в течение короткого периода времени. Но что, если время станет больше? Я бы тогда имел в памяти ненужный объект на все время.
Одним из примеров, чтобы дать четкое представление о том, о чем я говорю, была бы панель инструментов, которая меняет кнопки в зависимости от изменения контекста. То есть, как правило, некоторые кнопки прикреплены к панели инструментов, но когда пользователь выбирает одно действие в какой-либо другой части интерфейса, эти кнопки должны быть заменены новыми (одна из которых - кнопка «Готово»). Аналогично, когда пользователь выбирает кнопку «Готово» на панели инструментов, он возвращается в исходное состояние.
Я не знаю, является ли это глупым вопросом, и, возможно, может быть так, что я делаю что-то вроде преждевременной оптимизации ... но я буду благодарен за все ваши ответы.