Это происходит из-за того, что пользователь закрыл окно или вкладку браузера, что означает, что конкретный экземпляр пользовательского интерфейса больше не используется.
Наилучшим подходом обычно является переопределение метода detach
в пользовательском интерфейсе вашего приложения.подкласс и сделать уборку там.Просто не забудьте также позвонить super.detach()
.
Другая альтернатива - поймать UIDetachedException
, который может быть брошен на UI.access
, и выполнить очистку в этой точке.Недостатком этого подхода является то, что вы не получаете уведомление сразу же, когда пользовательский интерфейс отключен, а только при попытке что-то с ним сделать.