Phonegap IOS Ajax请求 - 内存消耗为1GB +

时间:2015-11-27 12:31:54

标签: ios ajax cordova memory-management

由于我是IOS手机上的初学者,面临一些内存管理问题。我创建了一个带有几个Ajax请求的phonegap项目。

安装app后,它会执行从服务器数据库(MySql)到localdatabase(WebSql)的数据同步(大约20个表)。使用Ajax请求和REST api发送和接收数据。

Android设备上的一切正常但是当我在IOS设备(iPad)或模拟器(iPhone 6s plus)上构建和运行应用程序时。最初内存消耗为93MB。登录后页面被重定向到同步,内存逐渐从93MB上升到1.42GB等等,导致应用程序异常中止抛出内存警告。从服务中恢复的数据采用JSon格式。

JSon数据可能包含2500条记录,因此我修改了该服务以仅生成500/100/10条记录并使用分页技术,但内存仍然高于1 GB。

由于要同步的数据非常庞大,我应该在IOS上使用什么方法进行同步。

代码: -

db.transaction(function(tx)
   {
     tx.executeSql("CREATE TABLE IF NOT EXISTS apm_t(apm_id int(11) NOT NULL, srNo_vc varchar(25) DEFAULT NULL,and so on..)");

   //Retrive server data
   $http.get("http://192.168.1.99:8080/myplanner-rest-api/apms")
       .success(function(response) {
          for(var i=0;i<response.length;i++){
             //Insert server data into local database
             myService.setApm_t(response[i].apm_id, response[i].srNo_vc, and so on…);
             }
          });
});


myApp.service('myService', function($q) {
  this.setApm_t = function(apm_id, srNo_vc,and so on..)
                  {
                   db.transaction(function(tx)
                                 {
                                  return tx.executeSql("INSERT INTO apm_t (apm_id, srNo_vc, and so on..) VALUES(?, ?, and so on..)", [apm_id, srNo_vc,and so on..], function(tx, res)
                                             {
                                              return true;
                                             });
                                 });
                                 return false;
                    }
 });

请提供一些专家建议和指导。提前谢谢。

0 个答案:

没有答案