[转]Dcloud App离线本地存储方案

原文地址:http://ask.dcloud.net.cn/article/166web

HTML5+的离线本地存储有以下多种方案:
HTML5标准方案:cookie、localstorage、sessionstorage、websql、indexedDB
HTML5Plus扩展方案:plus.storage、plus.iosql

    • cookie
      体量最小,能够设置过时时间。
    • localstorage
      适合key、value键值对的存储,数据量通常不超过5M。是经常使用的轻量数据存储方案。
    • sessionstorage
      也是键值对,特色是关闭App就消失了,通常不用于持久化数据保存,而是用于全局变量。
    • websql
      是手机端关系型数据库的最佳方案,各类手机都支持。只是该标准再也不更新。可是目前手机端重量数据存储的惟一可商用方案。
    • indexedDB
      是HTML5里最新的数据存储规范,但不是基于SQL,而是基于对象。
      indexedDB性能更高,全是异步处理,学习难度偏大。最重要的是目前手机端支持度不行。Android4.4以上和iOS8以上才支持indexedDB,暂时没法在手机端商用。
    • plus.storage
      plus.storage也是键值对数据存储。它是把OS给原生App使用的键值对存储数据库封装一层给JS使用。
      plus.storage没有理论上的大小限制。
      plus.storage相比于localstorage 的特色是可跨域。当一个存储数据,须要被本地和来自服务器的页面同时读写时,就涉及跨域问题。此时HTML5的localstorage不能知足需求,只能使用plus.storage。
      plus.storage操做要比localstorage慢几十毫秒,若是不是由于大小限制或跨越,尽可能使用localstorage。
    • plus.io
      plus.io是文件读写,虽然也能够经过读写txt等文件存储数据,但并不如专业的storage和websql方便。
      plus.io更多的是用于图片等多媒体文件的本地保存。
      好比图文列表的离线使用,通常有2种作法:
        1)图片下载不经过img的src,而是plus.dowload下载的,先下载图片,存好路径后,而后img的src动态指定文件路径
    •   2)图片使用img的src下载,而后用canvas把img存成图片文件。下次不联网,img的scr直接指向本地文件
相关文章
相关标签/搜索