Sencha Touch中DOM操作后的事件

Sencha Touch中DOM操作后的事件,dom,mobile,extjs,web,sencha-touch-2,Dom,Mobile,Extjs,Web,Sencha Touch 2,在Sencha Touch中的DOM操作成功后,他们的事件是否可用 我想测量渲染包含1000个元素的列表所需的时间。 因此,当列表被初始化时计时器启动,当列表被这样绘制时计时器停止: listeners: { initialize: function () { start = new Date(); var store = Ext.getStore('Songs'); for (var i = 1; i <= 1000; i++) { store.add({

在Sencha Touch中的DOM操作成功后,他们的事件是否可用

我想测量渲染包含1000个元素的列表所需的时间。 因此,当列表被初始化时计时器启动,当列表被这样绘制时计时器停止:

listeners: {
 initialize: function () {
   start = new Date();
   var store = Ext.getStore('Songs');
   for (var i = 1; i <= 1000; i++) {
      store.add({id: i});
    }
 },
 painted: function () {
   stop = new Date();
   Ext.Msg("Timer", stop - start);
 }
}
侦听器:{
初始化:函数(){
开始=新日期();
var store=Ext.getStore(“歌曲”);

对于(var i=1;i不幸的是,您没有回答,因此我只能猜测:

  • 您正在将每个项目分别添加到商店。在Sencha Touch中,这将消耗时间。最好创建一个项目数组并立即添加它们
  • 如果您正在添加项目,并且更新存储花费的时间太长,请停止对存储进行排序
  • 如果您对列表感兴趣,您最好在事件前后处理。类似于updatedata之前和之后。或者您可以将start添加到第一个itemTpl
但是再一次,画一个无限的列表不会花费任何时间,所以DOM部分并不是你想要的


如果您使用的是dataview,则可能会有所不同。

Ext.dataview.component.ListItemView-->绘制事件?如果您使用的是list,则可能只使用+1(无限:true)。通常只有使用localstorage的存储而不是无限列表的存储会变慢。