Вы правы, что Ваадин хранит весь пользовательский интерфейс в сеансе.Однако, как правило, это не слишком много, поскольку это только набор компонентов (классов Java), которые видны пользователю.Обычно большой размер сеанса из-за большого количества данных, связанных с компонентами пользовательского интерфейса.
Это легко сделать, потому что поля в компонентах пользовательского интерфейса, которые указывают на объекты данных, делают их частью сеанса, и он может быстро стать большим, если вы не позаботитесь об этом должным образом.
КомуЧтобы решить эту проблему, вы можете немного реорганизовать свой код, чтобы уменьшить размер сеанса.В целом это означает
Единого рецепта для этого не существует, но вот некоторые отправные точки:
- Убедитесь, что вы не инициализируете весь пользовательский интерфейс в Application.init ()метод.Особенно откладывайте загрузку больших объемов данных для фактического отображения пользовательского интерфейса и прослушивателей событий.
- Загрузка и привязка данных, когда новое представление присоединено (отображается) в методе Component.attach ().
- Очистите данные в Component.detach (), когда он больше не будет виден / недоступен для пользователя.
Есть и другие способы, но с ними вам следует начать с оптимизации размера сеанса.