Я разрабатываю автономное веб-приложение для нашего клиента, предназначенное для работы на iPad в режиме полета, установленном на подставке. У него нет динамических страниц на стороне сервера, только статическая HTML-страница, много JavaScript-компонентов для навигации и интерактивности, а также куча небольших графических ресурсов. Весь веб-сайт (статический HTML + CSS + JS + графика) весит ровно 8,3 МБ.
Я кэширую весь сайт через offline.manifest
, объявленный в моем отдельном HTML-файле, этот манифест ссылается абсолютно на все файлы в корневом каталоге, так что все необходимые файлы кэшируются.
Я не использую localStorage, IndexedDB или другие технологии автономного хранения в моем коде JS. Кроме «автоматического» кэширования я ничего не храню на устройстве.
Поэтому, когда вы проверяете журналы моего веб-сервера, мой клиент устанавливает веб-приложение на домашний экран iPad, загружает все файлы один раз, а затем никогда ничего не загружает с моего сервера. Это нормально, именно то, что он хотел в первую очередь: полноценное автономное веб-приложение.
Затем, как получается, что после нескольких минут тестирования от моего клиента его iPad просит его «увеличить локальное хранилище с 10 МБ до 25 МБ» ???
К вашему сведению, приложение состоит из своего рода викторины: один экран приветствия, 19 экранов вопросов, один экран результатов; пользователь может перемещаться вперед / назад в последовательности вопросов, но они создаются и обнуляются на лету, чтобы минимизировать использование памяти. В любом случае, я не верю, что эта проблема связана с доступом к ОЗУ, только с «жестким», постоянным, кэшированным хранилищем.