2012-12-14 34 views

回答

0

您可以測量主要代碼塊的執行時間以找到瓶頸,如下面的代碼所示。在目標移動設備上運行我的應用程序,然後檢查日誌文件以查找執行時間,這大大提高了我的應用程序的性能。

MeasureExecution = { 
    timers: {}, 
    start: function(name){ 
     MeasureExecution.timers[name] = new Date().getTime(); 
    }, 
    stop: function(name){ 
     console.log("Execution time for '"+name+"'="+Math.abs(MeasureExecution.timers[name] - new Date().getTime())+"ms"); 
     delete MeasureExecution.timers[name]; 
    } 
}; 

MyApp = { 
    init: function(){ 
     // Do some initialisation stuff 
     MeasureExecution.start("init"); 
     MyApp.doExpensiveStuff(); 
     MeasureExecution.stop("init"); 

     // Do some asynchronous stuff 
     for(var i=0; i<10; i++){ 
      MyApp.startAsync(i); 
     }   
    }, 

    doExpensiveStuff: function(){ 
     for(var i=0; i<10000; i++){ 
     for(var j=0; j<10000; j++){ 
     }  
     } 
    }, 

    startAsync: function(id){ 
     MeasureExecution.start("async-"+id); 
     window.setTimeout(function(){   
     MyApp.doAsync(id);         
     }, Math.floor(Math.random() *100));   
    }, 
    doAsync: function(id){ 
     MyApp.doExpensiveStuff();  
     MeasureExecution.stop("async-"+id); 
    }  
}; 

MyApp.init(); 
相關問題