当SQLLite使用Phonegap和Good Dynamics

时间:2015-05-10 05:40:09

标签: ios sqlite cordova webdb good-dynamics

我在iOS中使用Phonegap(Cordova)和“Good dynamics”。 我们有一个包含15列的表,需要一次根据条件插入超过10000到200000条记录。

但在测试超过2000个记录插入时,我的应用程序在iPAD中崩溃了。

我尝试了两种不同的批量插入,如下面的链接 Stack overflow answer(使用UNION ALL和COMMA分离的INSERTS)

我也尝试了两种选择:

1)为每个插入打开一个事务。

2)使用for循环在单个事务中多次插入。

在iOS模拟器中测试时,当插入超过5000k的记录时,两者都占用超过1GB的内存(我怀疑这会导致问题)。

当表格中有更多列而没有 IOS + SQLlite + PhoneGap + Good Dynamics

中的任何问题时,任何人都可以提出更好的解决方案来插入多条记录

我使用的示例代码:

for(var j=0;j< bulkTransactions.length;j++){
    (function(item,count){
        db.transaction(function(tx){
            if(item){
                var insQuery= item;
                tx.executeSql(insQuery, [],
                    function(tx,results){ //Success
                        if(count == bulkTransactions.length-1) {
                            if(callBackMethod != null)callBackMethod();
                        }
                    },
                    function(tx,e){ 
                        //Handle Error
                    }
                );
            }
        });
    }) (bulkTransactions[j],j);
}

该应用程序在iOS模拟器(甚至显示1GB内存使用率)或Chrome浏览器中运行良好,下图显示了iOS模拟器中12000条记录的内存使用情况:

enter image description here

0 个答案:

没有答案