2015-03-02 1 views
3

Когда клиентское приложение JavaScript использует слишком много памяти, браузер либо сбой, либо генерирует исключение, которое невозможно восстановить или заменить, как и 80-е.Обнаружение исчерпания памяти в браузере до его сбоя

У браузеров сигнализируют, что они почти достигли доступного предела памяти для вкладки?

В идеале, мне бы хотелось, чтобы у меня было возможность поймать событие, которое я могу перехватить на JavaScript, когда браузер работает на низкой памяти, чтобы автоматически вернуться к легкой версии приложения или сообщить моим пользователям пойти купить новый компьютер/телефон.

Я знаю, что инструменты производительности Chrome позволяют неточно запрашивать используемую память, что является первым шагом, но, вероятно, недостаточно для обнаружения ограничений памяти.

ответ

2

Нет, к сожалению, нет кросс-браузера. Это обсуждается немного в this answer.

window.performance.memory но это only available in Chrome.

Я также не знаю о каких-либо действительно хороших обходных решениях для этого. Возможно, вы можете проверить старые браузеры или браузеры, у которых нет определенных функций ("feature detection"), и предложить, чтобы пользователи со старыми браузерами использовали вашу «легкую» версию, так как это люди, которые, скорее всего, имеют маломощные устройства.

Другая возможность - посмотреть, как долго выполняются определенные операции, и если они занимают слишком много времени, тогда рекомендуется использовать световую версию. Опять очень тупые решения.

+0

Спасибо, что подтвердили мою интуицию. Я отмечу это как ответ, надеясь, что в какой-то момент в будущем я смогу переключиться на лучший ответ! –

+0

Также в первом предложении отсутствует «нет». –

+0

Ах спасибо, исправлено. –

 Смежные вопросы

  • Нет связанных вопросов^_^