В текущей бета-версии Яндекс.Браузера для Android появилась возможность открывать недавно посещенные сайты даже без соединения с сетью.
Чтобы разобраться в фиче нам для начала нужно понять проблему. Представьте, что вы запустили мобильный браузер и попытались прочитать какой-то длинный и скучный пост на Хром.рф или пробежались по ленте новостей во ВКонтакте. Но за окном солнце, поэтому плюнули вы не это дело и, захватив якобы друзей, уехали жарить шашлыки в такие дебри, где даже жалкий edge на вашем смартфоне не ловится. Вот только мясо оказалось так себе, да и друзья ушли в лес (и почему-то до сих пор не вернулись), поэтому, как это обычно бывает, вдруг возникло непреодолимое желание таки вернуться в браузер и дочитать статью и ленту. И именно здесь обычно возникает проблема. Вкладки ведь закрыты. А даже если и не закрыты, то Android их из памяти все равно уже выбросил. Повторно их не загрузить, ведь сеть не ловится.
Офлайн-режим в Яндекс.Браузере именно эту проблему и должен решить. Если недавно посещенные сайты все еще хранят свои ресурсы в кэше браузера, то он будет восстановлен даже без интернета. Причем совершенно не важно каким способом. Начиная от простой перезагрузки вкладки и заканчивая переходом по ссылке с такой же восстановленной страницы. Выход из браузера или вычищение его процесса через диспетчер задач системы на результат никак не повлияло - данные берутся из кэша, а он хранится постоянно.
В основе этого режима лежит технология кластерного кэширования, о разработке которой разработчики рассказали на Хабре. В отличие от классической реализации из проекта Chromium, ресурсы отдельно взятой веб-страницы объединяются в логические кластеры. Это позволяет, во-первых, оценить доступность всех ресурсов страницы в кэше. А во-вторых, дает возможность защитить отдельные кластеры от удаления (кэш ведь ограничен в размерах и наиболее старые элементы удаляются).
Если поискать схожие технологии, то можно вспомнить про эксперимент chrome://flags/#show-saved-copy из Chromium. Если сеть недоступна, то браузер показывает ошибку и предлагает через кнопку загрузить сохраненную копию. Используется при этом обычное кэширование, которое проверяет доступность в кэше главного HTML-документа без учета ресурсов. Работает только для простых страничек. ВКонтакте или Facebook переварить не может и восстановить не предлагает. В течение последнего года активного развития этого эксперимента замечено не было.