sencha touch同步存储性能问题

时间:2014-06-02 13:16:36

标签: javascript cordova extjs sencha-touch

我正在使用sencha touch 2开发应用程序。 我有一个问题,使用store.sync()执行此语句时花费太多(约20分钟)时间。 我必须在商店中插入8500条记录。 有没有其他方法可以让下载更快完成。

 var spareStore = Ext.getStore('Spares');
  spareStore.removeAll();
  spareStore.add(spareList);
  spareStore.sync();
  spareStore.load();
  var spareData = []
  spareStore.each(function(rec){
    spareData.push(rec.data);
  });

1 个答案:

答案 0 :(得分:2)

您首先在sencha商店中加载所有8500条记录,然后同步商店。即时将数据直接保存在本地数据库备用表中,而不是加载存储中的所有数据,这将提高您的应用程序性能。

您需要更改代码

    var db = window.openDatabase("databasename", "1.0", "database", 10000000);
    db.transaction(queryDB, errorCB);
    function queryDB(tx) {
        for(indexcnt = 0; indexcnt < record.length; indexcnt++)
        {
           var id = indexcnt+1;
           tx.executeSql(insert query);   //put here your table insert query put here
        }
        spareStore.load();