我使用sencha touch 2.2.1创建了sencha web应用程序。在我的应用程序中,我有一个包含一个容器的屏幕,其中添加了多个面板。单个面板由两个面板,顶部面板和内部面板组成。sencha应用程序在UI线程上渲染速度变慢
在初始化页面时,我调用ajax api来获取容器中每个项目顶部面板的数据列表。并在顶部面板点击,我打电话给该项目的API来获取内部面板的数据。在完成API调用后,我将数据渲染到内部面板并使该面板可见。此代码对顶部面板中点击的容器中的所有项目都是相同的。
顶部还有一个按钮'expandAll',它将一个接一个地为for循环中的所有项目调用api,并为每个内部面板渲染数据。首先,我打电话给一个API,然后获取我在商店中存储和渲染的响应,然后调用下一个API,就像所有项目一样。
getDetailData:function(params){
var detailStore=Ext.getStore('DetailData');
detailStore.load({
callback:function(data,opt,success) {
detailStore.storeDetailData(data);
_this.onShowDetailData(data);
// now call next api from here until all items data fetched and displayed
}
});
}
在这种情况下,获取所有项目数据和渲染的UI线程正在采取更多的时间和应用程序变慢。
同样在渲染数据时,我必须在存储上应用滤镜以在每次渲染数据之前过滤数据。
我想知道我应该怎么做这个处理和渲染工作。由于ajax API调用并从服务器获取数据不会花费更多时间,但处理和呈现需要更多时间。
这个
感谢
我们在这里总共讨论了多少项目或API调用?项目模板有多复杂? – OhmzTech
最少10个,最大14个电话我们在这里制作。项目模板是复杂的结构, 一个面板与vbox布局和两个面板, 1.面板(layout = hbox),因为我们有5个面板和两个列表 2.面板(layout = hbox) ,因为我们有6个列表和两个面板 – nleshjinde
我已经解决了这个渲染问题。至于每个煎茶成分,sencha都是通过它自己创造出额外的结构。在我的应用程序中,我使用了更多的sencha组件以及更多的内部组件。所以现在我已经使用了单个面板,并且我创建了单个html而不是更多的sencha组件,并直接将这个最终的HTML文本设置为面板为setHtml。所以在这种情况下,我们正在重写sencha结构并且简单的渲染正在发生。 – nleshjinde