加載時間
從下圖中可以看到,MPA模式在第一次加載(58-5=53ms)略慢菌湃,要命是有明顯的loading..麻顶,第二次加載時間正常,說明關(guān)閉頁面后iframe并沒有釋放內(nèi)存淘钟。
loadtime.gif
原理與實現(xiàn)
MPA
: 多頁面應(yīng)用(Multi-Page Application)宦赠。傳統(tǒng)的頁面開發(fā),通過iframe加載頁面。
代碼如下:
loadPage: function(title, url, id) {
var existtab = this.down('uxiframe[frameName="frame_id_' + id + ']');
if (existtab != null) {
existtab.show();
} else {
var frameUrl = url;
if (url.indexOf('http://') != -1) {
frameUrl = url;
}
var panel = this.add(Ext.create('Ext.ux.IFrame', {
title: title,
frameName: 'frame_id_' + id,
closable: true
}));
this.setActiveTab(panel);
panel.load(frameUrl);
}
}
SPA
:單頁面應(yīng)用(Single Page Application)勾扭。把頁面抽象為模塊毡琉,通過模塊名加載頁面。
代碼如下:
loadModule: function(title, xtype, id) {
var existtab = this.down(xtype);
if (existtab != null) {
existtab.show();
} else {
var panel = this.add({
title: title,
xtype: xtype,
closable: true
});
this.setActiveTab(panel);
}
}