26

在我的测试中,Mobile Safari 对 HTML5 应用程序缓存的实现有 5mb 的大小限制,这一点变得越来越明显。

有谁知道如何规避或提高这个?是否有一些我应该知道的未公开的元标记?我必须为离线应用缓存一些视频内容,而 5mb 是不够的。

4

6 回答 6

8

我试图用这个清单写一个简单的测试:

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.4MB 的存储空间。

当我打开一个包含该清单文件的页面时,它会说:“这个网站需要使用最多 25MB 的存储空间,你想增加本地存储空间吗?”。

我想我明白了 iOS 的做法:

  • 您只有 5MB 用于本地存储(包括 HTML5 应用程序缓存)
  • 如果您的网络需要更多,Safari 需要用户同意某些包(最大 10MB、25MB 或更多...)

希望对你有用。

于 2012-04-17T16:32:07.983 回答
2

这不适用于特定的离线视频用例,但您可以openDatabase通过在调用中请求更大的数据库来创建大于 iOS 中默认 5MB 的 Web SQL 数据库。对于某些类型的存储,SQLite 可能是一个可接受的解决方案。

于 2011-03-27T16:21:38.457 回答
1

也就此联系了苹果。

在这里阅读我的博文:http: //techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/

还有我的 StackOverflow 帖子:Max size iPad / iPhone Offline Application Cache

于 2011-03-12T11:07:01.493 回答
0

页面上还有什么?

这些人通过拆分页面或用链接替换一些缓存的图像来限制他们的页面:
http ://www.mobilenoter.com/blog/post/2010/04/06/Removing-size-limit- of-a-page.aspx

于 2010-06-22T02:35:53.260 回答
0

我在 iPad(iOS 5)上运行了一个大于 5MB 的 Web 应用程序,尽管它是一个 iPad,一旦页面加载超过 5MB,它就会弹出一个询问用户是否想将缓存大小增加到10MB。

我认为,在最新的 iOS 版本中,如果 Web 应用程序需要超过 5MB 的缓存存储,它会询问用户是否有权增加它,以便用户可以管理他/她自己的内存空间。

当您查看您的使用数据(例如通过 iTunes)时,您在“其他”类别中看到的数量可能主要是网络缓存,这也是有道理的。您还可以转到设置 | 查看每个网站使用了多少空间。野生动物园 | 高级 | 网站数据。

于 2012-06-05T12:52:42.770 回答
-1

不知道为什么每个人都忘记了优秀的 'ol Web 应用程序(还记得这些人吗?他们在原生应用程序之前就已经存在了!),但它们已经“离线准备就绪”,这意味着您不需要加载应用程序缓存与您的应用程序的每个组件。

据我所知,网络应用程序的大小没有限制。

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

于 2010-07-06T07:29:58.933 回答