测试环境:Android 4.4 intelHAM 模拟器,chrome 40 inspect console运行
//=========================================
var datalen=500;
var times=150;
测试结果:
plus -set:29133
plus -get:31522
plus -clear:31535
local-set:260
local-get:555
local-clear:562
//=========================================
var datalen=150;
var times=450;
测试结果:
plus -set:68859
plus -get:75286
plus -clear:75298
local-set:469
local-get:774
local-clear:787
//=========================================
var datalen=50;
var times=1350;
测试结果:
plus -set:191658
plus -get:206620
plus -clear:206650
local-set:2946
local-get:3112
local-clear:3126
//=========================================
测试代码:
var a=[];
var datalen=150;
var times=450;
for(var i=0;i<datalen;i++){
a[i]={id:1234567+i,dt:new Date(Date.now()),value:i+5.5i};
}
var s=JSON.stringify(a);
plus.storage.clear();
localStorage.clear();
var t1=Date.now();
for(var i=0;i<times;i++)
{
plus.storage.setItem(i+'',s);
}
console.log("plus -set:"+(Date.now()-t1));
for(var i=0;i<times;i++)
{
var temp=plus.storage.getItem(i+'');
}
console.log("plus -get:"+(Date.now()-t1));
plus.storage.clear();
console.log("plus -clear:"+(Date.now()-t1));
var t2=Date.now();
for(var i=0;i<times;i++)
{
localStorage.setItem(i+'',s);
}
console.log("local-set:"+(Date.now()-t2));
for(var i=0;i<times;i++)
{
var temp=localStorage.getItem(i+'');
}
console.log("local-get:"+(Date.now()-t2));
localStorage.clear();
console.log("local-clear:"+(Date.now()-t2));
2 个回复
好冷 - 诚接外包,QQ:23380891
官网居然连个实例都没有么?
DCloud_App_Array
plus.storage.*接口速度确实不够高,不推荐使用此API来频繁操作数据,可选方案:
编程民工 (作者)
从上面的测试来看,第一个测试中,数据长度大概是8.9k,存取用时200ms左右。如果是异步的,那么感觉影响不是很大,如果是同步的,那就会感觉到延迟。
2015-03-20 15:57
编程民工 (作者)
回复 编程民工:我感觉这个速度应该能凑合用,但是相比localStorage差距实在太大。
2015-03-20 15:57