Выключаются ли сервис-воркеры iOS Safari из-за перегрева?

Я работаю над расширением iOS Safari, в котором есть ServiceWorker. Недавно мы заметили, что этот ServiceWorker, кажется, убивается случайно, и нет журналов или отчетов о сбоях, которые могли бы рассказать нам, что произошло.

Я предполагаю, что iOS может закрывать Safari ServiceWorkers, когдаProcessInfo.thermalStateподходы.serious. У меня есть косвенные доказательства того, что нашего ServiceWorker чаще убивают на более высоких уровнях.thermalStateно пока не могу сказать однозначно, что это так. Прямых подтверждений этому в поиске в Интернете я тоже не нашел.

Кто-нибудь может пролить свет на эту тему? Специфическими симптомами являются:

  1. ServiceWorker останавливается, и пункт меню для его окна консоли больше не отображается в macOS Safari.
  2. Насколько мы можем судить, нет журналов сбоев через Xcode или Sentry и нет сообщений консоли (предостережение: MobileSafari генерирует МНОГО сообщений! Возможно, мы это пропустили).
  3. При подключении через отладчик собственная часть нашего расширения просто исчезает, и отладчик теряет соединение без сообщения об ошибке.
  4. ServiceWorker больше не работает в течение всего времени существования процесса Safari. Иногда, когда мы закрываем Safari и перезапускаем, мы можем вернуть ServiceWorker. Обычно для этого требуется переключить «включенное» состояние нашего расширения в настройках системы.
  5. В некоторых случаях даже завершение/перезапуск Safari и переключение системных настроек не возвращает наш ServiceWorker. Я сейчас предполагаю, что это происходит, когда тепловое состояние высокое.

Я попытался смоделировать серьезное/критическое тепловое состояние в окне «Устройства Xcode», но не смог воспроизвести проблему ServiceWorker. Однако я не знаю, влияет ли этот параметр на всю систему или только на наши собственные приложения.

Помощь оценена по достоинству!

Юна

0 ответов

Другие вопросы по тегам