Ограничение кэша HTML5 мобильного приложения Safari 5 Мб? - PullRequest
26 голосов
/ 26 мая 2010

В ходе моего тестирования становится очевидным, что в реализации Mobile Safari кеша приложений HTML5 в Mobile Safari ограничено.

Кто-нибудь знает, как это обойти или поднять? Есть ли какой-нибудь неэкспонированный метатег, о котором я должен знать? Я должен кэшировать некоторый видеоконтент для автономного приложения, и 5 МБ будет недостаточно.

Ответы [ 6 ]

8 голосов
/ 17 апреля 2012

Я попытался написать простой тест с помощью этого манифеста:

CACHE MANIFEST
# 2010-06-20:v4

http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg
http://apod.nasa.gov/apod/image/9712/orionfull_jcc_big.jpg
http://www.thelivingmoon.com/43ancients/04images/Titan/titan5km_huygens_big.jpg
http://upload.yeuamnhac.com/musica/dan_lily/dancontent/rh108poster1big.jpg

Для этого кэша потребуется 11,4 МБ памяти.

Когда я открываю страницу, содержащую этот файл манифеста, он говорит что-то вроде этого: «Этот сайт требует до 25 МБ хранилища, вы хотите увеличить локальное хранилище?».

Мне кажется, я понял, как работает iOS:

  • У вас есть только 5 МБ для локального хранилища (включая кэш приложения HTML5)
  • Если вашей сети требуется больше, Safari требуется согласие пользователя для некоторых пакетов (до 10 МБ или 25 МБ или более ...)

Надеюсь, что это полезно для вас.

2 голосов
/ 27 марта 2011

Это не относится к конкретному случаю использования офлайн-видео, но вы можете создавать базы данных Web SQL размером более 5 МБ в iOS по умолчанию, просто запрашивая большую БД в вызове openDatabase. Для некоторых типов хранилищ SQLite может быть приемлемым решением.

1 голос
/ 12 марта 2011

Также связался с яблоком по этому поводу.

Читайте мой блог об этом здесь: http://techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/

И мой пост StackOverflow здесь: Максимальный размер кэша автономных приложений iPad / iPhone

0 голосов
/ 05 июня 2012

Я запустил веб-приложение размером более 5 МБ на iPad (iOS 5), хотя это iPad после того, как страница загружена после 5 МБ, на экране появилось всплывающее окно с вопросом, хочет ли он увеличить размер кеш до 10Мб.

Похоже, что в последней версии iOS, если веб-приложению требуется более 5 МБ кэш-памяти, оно будет запрашивать у пользователя разрешение на его увеличение, чтобы пользователь мог управлять своим собственным пространством памяти.

Было бы также понятно, что при просмотре данных об использовании (скажем, через iTunes) сумма, которую вы видите в категории «Прочие», скорее всего, в основном является веб-кешем. Также вы можете увидеть, сколько места используется на сайте, перейдя в Настройки | Сафари | Расширенный | Данные сайта.

0 голосов
/ 06 июля 2010

Не знаю, почему каждый забывает о хороших веб-приложениях (помните, эти парни? Они были раньше, чем нативные приложения!), Но они уже "готовы к работе в автономном режиме", что означает, что вам не нужно загружаться кэш вашего приложения с каждым компонентом вашего приложения.

Насколько мне известно, размер веб-приложений не ограничен.

http://www.apple.com/webapps/

0 голосов
/ 22 июня 2010

Что еще есть на странице?

Эти парни держат свои страницы под лимитом, либо разделяя страницы, либо заменяя некоторые из кэшированных изображений ссылками:
http://www.mobilenoter.com/blog/post/2010/04/06/Removing-size-limit-of-a-page.aspx

...