在使用plus.storage頻繁地存取數據時,能夠感受到明顯的卡頓,並且很耗內存, 在切換到localstorage時雖然效率很高,頁面渲染速度明顯變快了,且手機發熱不明顯,不過又遇到了存儲瓶頸(通常<=5M), 所以折中採起了plus.storage與localStorage混合的方案: 當localStorage達到存儲瓶頸時切換到plus.storage
封裝的方法基本上和plus.storage
沒區別。關於plus.storage
參考http://www.html5plus.org/doc/zh_cn/storage.htmlhtml
getItem
經過鍵key
檢索獲取應用存儲的值html5
var item=myStorage.getItem(key);
key
: DOMString
必選DOMString
: 鍵key
對應應用存儲的值,若是沒有則返回null
。localStorage
取值,沒有再從plus.Storage
取值setItem
修改或添加鍵值(key-value)對數據到應用數據存儲中git
void myStorage.setItem(key, value);
localStorage
中,超出localStorage
容量限制則存到plus.storage
中getLength
獲取localStorage
中保存的鍵值對的個數github
var len=myStorage.getLength();
getLengthPlus
獲取plus.storage
中保存的鍵值對的個數緩存
removeItem
經過key
值刪除鍵值對存儲的數據函數
void myStorage.removeItem();
clear
清除應用全部的鍵值對存儲數據測試
void myStorage.clear();
key
獲取localStorage
鍵值對中指定索引值的key值ui
var foo = myStorage.key(index);
keyPlus
獲取plus.storage
鍵值對中指定索引值的key值localstorage
var foo = myStorage.keyPlus(index);
getItemByIndex
經過鍵key
檢索獲取應用存儲localStorage
的值code
var item=myStorage.getItemByIndex(index);
index
: Number
必選 存儲鍵值的索引DOMString
: 鍵key
對應應用存儲的值,若是沒有則返回null
。getItemByIndexPlus
經過鍵key
檢索獲取應用存儲的值
var item=myStorage.getItemByIndexPlus(index);
index
: Number
必選 存儲鍵值的索引DOMString
: 鍵key
對應應用存儲的值,若是沒有則返回null
。getItems
經過鍵key
檢索獲取應用存儲的值
var items=myStorage.getItems(key)
key
: Number
可選 存儲鍵值的索引Array
:不傳key
參則返回全部對象,不然返回含有該key的對象removeItemByKeys
清除指定前綴的存儲對象
void myStorage.removeItemBykeys(keys,cb)
keys
:DOMString
或Array
, 必選 keys
爲String
,方法內部自動轉換爲Array
cb
:Function
可選 回調函數以上方法常常用到的仍是getItem
setItem
getItems
在測試或控制檯查看時卻是偶爾用獲得
removeItemBykeys
是結合本地文件common.cache.clear
緩存清除時一齊使用的
代碼已分享到github
地址在https://github.com/phillyx/MUIDemos/tree/master/js/myStorage.js
也可直接使用壓縮後的代碼https://github.com/phillyx/MUIDemos/tree/master/dist/common.js