私のアプリには、特定のユーザー アクションで、ローカル txt ファイル (合計 100 kb) を介してかなり大きなデータ セットが読み込まれるデータ ストアがあります。Sencha 2.2 にアップグレードする前は、そのデータセットの読み込みはかなり速く、アプリのパフォーマンスへの影響はありませんでした。
Sencha 2.2 にアップグレードしたので、そのデータをロードするとアプリが完全にフリーズします。コンピューターでアプリを実行している場合でも、アプリがフリーズするのに約 5 分かかります。
setData() とプロキシ経由のロード (以下のコード) の 2 つのアプローチを試しました。どちらのアプローチも同じ結果になります。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);
}
});