3

我试图弄清楚在使用 Sencha Touch 2(速度方面)时最好使用什么。我已经发现如果我通过Ext.create或初始化屏幕上显示的组件几乎没有什么区别{xtype:""}。但是如果我将控件添加到这样的容器中,我该怎么办:

containerPanel = Ext.create('Ext.Container', {
            id: 'appContgdfsainer',
            fullscreen: true,
            items: Ext.create('Ext.Button', {
                text: 'Button',
                listeners: {tap:function(){containerPanel.add(items)}}
            })

        });

请注意,items 是一个包含 1000 个面板的数组,其中包含使用{html:"test", xtype:"panel"};或使用Ext.create("Ext.Panel",{html:"test"});
这给我创建的其他结果,然后是我所期望的。我期望的是Ext.create会更快,因为 sencha 只需要添加已经使用该Ext.create函数创建的组件。我预计另一种可能性会更慢,因为 sencha 首先必须先创建这个对象,然后才能添加它。
唯一的问题是,它不是。当我使用 Ext.create 添加面板时,加载面板的速度明显更快
{html:"test", xtype:"panel"};

问题:
为什么将面板添加到容器时{html:"test", xtype:"panel"};会更快?Ext.create

4

1 回答 1

2

你怎么确定faster

我在 jsperf.com 上创建了一个快速测试 - 它表明使用Ext.create速度更快。

链接:http: //jsperf.com/st2-xtype-vs-create

于 2012-04-20T20:50:38.523 回答