Что происходит с апплетом, когда браузер закрывается?

StackOverflow https://stackoverflow.com/questions/249637

  •  05-07-2019
  •  | 
  •  

Вопрос

Предположим, у меня есть апплет, работающий на странице браузера.Что происходит, когда пользователь закрывает браузер?

Уведомляется ли апплет, чтобы он мог выполнить какое-то действие закрытия на своей стороне (закрытие соединений, открытых с сервером, очистка статических переменных и т. д.)?

Кроме того, я предполагаю, что такое же поведение будет применяться для обновления страницы или навигации по ней (вместо закрытия браузера).Браузер остается открытым, но апплет исчез.Хотя когда вы закрываете браузер, вы также закрываете JVM, поэтому я не уверен на данный момент.

Спасибо, JB

Это было полезно?

Решение

Да, метод уничтожить() следует вызывать до браузер выгружает объект.

разрушать() последний из четырёх"методы жизненного цикла" Java-апплета (остальные в этом(), начинать(), и останавливаться() ).На самом деле они вызываются в разное время в зависимости от вашего браузер и виртуальная машина.Если вы хотите точно знать, когда каждый из них вызывается, реализуйте каждый метод в своем апплете и дайте System.out некоторую обратную связь.

В идеале метод Destroy() должен быть вызывается окружением, и его следует вызывать только один раз.Если кажется, что метод уничтожения() не вызывается, вы можете объявить общедоступный метод финализации(), который вызывает метод уничтожения.Вы также можете попытаться вызвать Destroy() из JavaScript при выгрузке объекта окна, но, опять же, убедитесь, что вы не вызываете Destroy() без необходимости.

public void finalize () {
    destroy();
}

Другие советы

В большинстве случаев будет вызван метод уничтожения, но ему не хватит времени для выполнения необходимых задач в случае закрытия окна.

При обновлении и навигации с помощью Backword <- и Forward -> достаточно времени.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top