我的应用程序中有一个数据存储,在特定的用户操作中,它通过本地 txt 文件(总共 100kb)加载了相当大的数据集。在我升级到 Sencha 2.2 之前,加载该数据集的速度相当快,对应用程序性能的影响为 0。
现在我已经升级到 Sencha 2.2,加载这些数据会完全冻结应用程序。即使我在我的计算机上运行该应用程序,该应用程序也需要大约 5 分钟才能解冻。
我尝试了两种方法:setData() 和通过代理加载(下面的代码)。两种方法具有相同的结果。我已经筛选了 Sencha 2.2 更改日志,但无法找到任何与数据存储相关的更改。我在这里很茫然。任何帮助都是极好的。
本地代理方法:
Ext.define("addable_exercises", {
extend: "Ext.data.Model",
config: {
idProperty: 'id',
fields: [
{ name: 'ex_id'},
{ name: 'ex_name'},
{ name: 'ex_alias'},
{ name: 'ex_type'},
{ name: 'prot_type'}
]
}
});
var all_exercises = Ext.create('Ext.data.Store', {
storeId: 'all_exercises',
model: 'addable_exercises',
proxy: {
type: 'ajax',
url: 'resources/textfiles/datastores/all_exercises.txt'
}
});
Ext.getStore('all_exercises').load()
setData() 方法:
Ext.define("addable_exercises", {
extend: "Ext.data.Model",
config: {
idProperty: 'id',
fields: [
{ name: 'ex_id' },
{ name: 'ex_name'},
{ name: 'ex_alias'},
{ name: 'ex_type'},
{ name: 'prot_type'}
]
}
});
var all_exercises = Ext.create('Ext.data.Store', {
storeId: 'all_exercises',
model: 'addable_exercises'
});
Ext.Ajax.request({
url: 'resources/textfiles/datastores/all_exercises.txt',
success: function(response, opts) {
var exercise_list = response.responseText;
var all_exercises_store = Ext.getStore('all_exercises');
all_exercises_store.setData(exercise_list);
}
});