【问题标题】:Mobile Safari 5mb HTML5 application cache limit?移动 Safari 5mb HTML5 应用程序缓存限制?
【发布时间】:2011-02-23 21:45:49
【问题描述】:

在我的测试中很明显,Mobile Safari 的 HTML5 应用程序缓存实现有 5mb 的大小限制。

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

【问题讨论】:

    标签: html local-storage mobile-safari application-cache


    【解决方案1】:

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

    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 或更多...)

    希望对你有用。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        也就此联系过苹果。

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

        我的 StackOverflow 帖子在这里:Max size iPad / iPhone Offline Application Cache

        【讨论】:

          【解决方案4】:

          页面上还有什么?

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

          【讨论】:

          • 我想这也可以应用于视频?将视频切成 5MB 的块。如果不需要视频搜索,我认为加载器实现起来很简单。
          【解决方案5】:

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

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

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

          【讨论】:

            【解决方案6】:

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

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

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

            【讨论】:

            • 它实际上是我正在构建的一个网络应用程序——当用户离线进行演示等时显示电影(html5 视频标签)。我可以确认缓存大小限制适用于网络应用程序好吧。
            猜你喜欢
            • 2011-03-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-26
            • 2011-03-26
            • 2013-01-21
            相关资源
            最近更新 更多