zoukankan      html  css  js  c++  java
  • [转]Dcloud App离线本地存储方案

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

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

      • 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直接指向本地文件
  • 相关阅读:
    @NotNull @NotBlank @NotEmpty
    springboot @valid与@validated的参数校验使用总结
    一张表多个外键指向同一主键
    关于List的remove()方法
    双数据源切换问题
    前端通过jqplot绘制折线图
    关于js与jquery中的文档加载
    Mybatis中typeAliases的使用
    项目中常见数据库知识
    html中实现倒计时功能(setInterval,clearInterval)
  • 原文地址:https://www.cnblogs.com/rdst/p/4756839.html
Copyright © 2011-2022 走看看