Выгрузка вкладок Chrome из памяти
Приложение к главе «Выгрузка вкладок из памяти», находящейся в публикации Работа с вкладками и ссылками в браузере Chrome.
Для пользователя, как пример, это выглядит следующим образом:
- Есть четыре открытых вкладок браузера.
- Пользователь продолжительное время работает только с первой и второй вкладками.
- В это время вкладки, с которыми пользователь не работает, то есть третья и четвёртая, выгружаются из памяти.
- Пользователю понадобилась третья вкладка, он её кликает, а так как она выгружена из памяти, то ждёт некоторое время, когда она снова загрузится (так произойдёт и с четвёртой).
- Теперь все вкладки загружены в память и при клике сразу открываются без ожидания.
- Но вот пользователь продолжительное время работает только с третьей и четвёртой вкладками, а про две первых забыл.
- Первая и вторая вкладки выгружаются из памяти и при обращении к ним пользователю снова придётся ждать, когда они загрузятся.
- И так далее по кругу...
Многим пользователям такой режим не нравится — постоянно приходится ждать загрузку одних и тех же вкладок несколько раз. Или, например, пользователь загружает видеоролик в память на какой-либо странице, чтобы его потом посмотреть, а сам в это время работает с другими вкладками; потом возвращается на вкладку с видео, а та уже выгрузилась из памяти и пользователю снова приходится загружать видеоролик.
Исключения составляют вкладки, на которых 1) воспроизводится аудио (Web Audio API и прочие API для воспроизведения звука); 2) осуществляется общение с помощью голосовой и видеосвязи через окно браузера (технологии WebRTC); 3) установлено соединение по протоколу полнодуплексной связи WebSocket.
Выгрузка вкладок происходит в автоматическом режиме и не всегда — зависит от памяти: если её много, то выгрузка отключается, если же мало — включается. Обычно памяти всегда мало :)