原文地址: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直接指向本地文件

[转]Dcloud App离线本地存储方案的更多相关文章

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

    App离线本地存储方案 原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localsto ...

  2. ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)

    首先声明,本教程参考国外网站(http://gonehybrid.com/how-to-use-pouchdb-sqlite-for-local-storage-in-your-ionic-app/) ...

  3. [转]ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)

    本文转自:http://www.cnblogs.com/ailen226/p/ionic.html 首先声明,本教程参考国外网站(http://gonehybrid.com/how-to-use-po ...

  4. htm5本地存储方案——websql的封装

    一.websql 简介   在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的 ...

  5. Android本地存储方案 SharedPreferences

    原文地址:http://www.yanwushu.com/post/43.html 存储位置 SharedPreferences数据保存在: /data /data/<package_name& ...

  6. htm5本地存储方案——indexdb的封装

    不BB直接上代码 /*封装IndexdDB*/ var localDatabase = { }; localDatabase.dbName = "yiliDB"; localDat ...

  7. JavaScript本地存储实践(html5的localStorage和ie的userData)

    http://www.css88.com/archives/3717 JavaScript本地存储实践(html5的localStorage和ie的userData) 发表于 2011年06月11日  ...

  8. 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)

    来自:http://blog.csdn.net/dawanganban/article/details/18218701 一.浏览器存储的发展历程 本地存储解决方案很多,比如Flash SharedO ...

  9. web前端实现本地存储

    当我们在提及web前端本地存储的时候,首先需要介绍一下本地化存储的概念和历史.本地化存储从来不是一个新奇的概念,因为web应用程序一直在追求的就是媲美甚至超越桌面应用程序.但是桌面应用程序一直优于we ...

随机推荐

  1. java中自动装箱的问题

    package wrapper; public class WrapperDemo { public static void main(String[] args) { Integer a=new I ...

  2. [git]Git log 输出格式化(转载)

    转载于:https://havee.me/linux/2015-05/git-pretty-output.html 美化完的格式: git log --graph --pretty=format:'% ...

  3. 2013年最佳的16个 Photoshop 设计教程推荐

    使用 Photoshop 的时候,没有基础操作知识的话,用起来会非常困难,所以你应该阅读一些教程才能应用它们在你的工作中.在这篇文章中你看到的 Photoshop 教程的集合是2013年发布的最优秀的 ...

  4. Elasticsearch嵌套聚合

    Elasticserch在新版本中支持聚合操作,而聚合操作也可以嵌套使用,方法如下: curl -XGET 10.4.44.19:9200/test/test/_search?pretty -d ' ...

  5. noip模拟赛 好元素 哈希表的第一题

    这是一道关于 题2好元素 2s [问题描述] 小A一直认为,如果在一个由N个整数组成的数列{An}中,存在以下情况: Am+An+Ap = Ai (1 <= m, n, p < i < ...

  6. Visual Studio 后期生成事件复制配置文件

    命令行 copy 源文件 目标路径 copy "$(SolutionDir)\ICBC.Sdyf.Applications\bin\Debug\ICBC.Sdyf.Applications. ...

  7. 代码实现SQL Server动态行转列,不用存储过程

    分两步查询,第一步查询出动态列,第二步使用PIVOT函数. 代码: List<DataTable> dataTableList = new List<DataTable>(); ...

  8. ASP.NET MVC怎样引用你的model

    在视图中,引用model,并绑定.有2种情况,一是数据集,另一个是单个model. 实现之前,有准备一个数据吧. 创建一个model: source code: namespace Insus.NET ...

  9. 如何Windows分页控件中增加统计功能

    在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是 ...

  10. C#单纯的字母数字ASCII码转换

    字母转换成数字 byte[] array = new byte[1];   //定义一组数组array            array = System.Text.Encoding.ASCII.Ge ...