1

因此,我的应用程序启动速度非常快,并且在每次商店加载时都开始减慢速度。

店铺型号:

Ext.define('SkSe.model.Places',{
    extend:'Ext.data.Model',
    config:{
        fields:['id','name','icon_code','required_stamps', 'active_stamps','description', 'campaign_id', 'user_favorites' , 'live_action_number']
    }

});

商店本身看起来像这样:

Ext.define('SkSe.store.Places',{
extend:'Ext.data.Store',

config:{

    autoLoad:true,
    autoSync:true, 
    model:'SkSe.model.Places',
    sorters: 'name',
    grouper: {
        groupFn: function (item) {
            return item.get('name')[0];
        }
    }, 
    groupDir: 'DESC',
    proxy:{
        type:'ajax',
        url:'SOMEURL'
    }

}
}

);

每次用户进入主视图时,商店都会被清空并加载,如下所示:

var store2 = Ext.data.StoreManager.lookup('Places');
store2.data.clear();
store2.getProxy().setUrl('someurl');
store2.load();

由于某种原因,每次用户返回主视图时,cpu 负载都会增加几个百分点,直到它变得非常缓慢。

它必须与存储加载和清除有关,因为如果我将其删除,则不会发生 CPU 过载。

通过代理到达的数据量也可以忽略不计。

任何想法为什么会发生这种情况?

谢谢。

4

1 回答 1

0

我不认为清除商店的基础集合会破坏记录。我建议使用商店的removeAll方法,该方法将对每条记录进行销毁,并希望释放每个记录使用的一些资源。

如果您的商店正在处理大型数据集,那么这可能会加起来并导致速度变慢。

于 2013-08-19T08:37:14.207 回答