#electron #window #freeze
#electron #окно #замораживание
Вопрос:
У нас есть сборки нашего приложения для Mac и window с фреймворком Electron. И многие наши пользователи жалуются, что приложение иногда зависает и перестает отвечать на запросы. Мониторинг Sentry показывает, что у нас есть много сообщений о том, что приложение перестает отвечать на запросы, и многие пользователи сталкиваются с этой проблемой. Но когда приложение запускается в собственном браузере, таком как Google Chrome, этого не происходит.
Электронная версия 8.5.1 — это последняя версия 8.x на данный момент. Мы не можем перейти на более высокую версию, потому что есть некоторые важные вещи, которые корректно работают только на этой. Этот, например — https://github.com/electron/electron/issues/24384 (Он закрыт, но все еще не работает).
Изучение журналов Sentry не помогло нам понять, в чем причина. Это происходит в разное время, и мы не нашли, от чего это может зависеть.
Просто простой пример журнала:
Мы создали обходной путь, который помогает перезагрузить окно приложения.
window.on('unresponsive', () => {
// there we can destroy window and create new
});
но это не устраняет корень причины.
Может ли кто-нибудь помочь решить эту проблему или почему это может происходить? Может быть, у кого-то такие же проблемы?
Комментарии:
1. AFAIK,
unresponsive
событие срабатывает через ~ 30 секунд. В то время ваше исходное изображение показывало ошибку. Новое изображение также содержит события, предшествующиеunresponsive
событию на этот интервал. Не видя никакого кода приложения, я не думаю, что мы можем что-то сделать. Посмотрите на код, который выполняется за 30 секунд доunresponsive
события.