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)}}
            })

        });

{html:"test", xtype:"panel"};items は、または で作成された 1000 個のパネルを含む配列であることに注意してくださいExt.create("Ext.Panel",{html:"test"});
。これにより、予想とは異なる結果が得られます。私が期待しているのは、関数Ext.createを使用して既に作成されたコンポーネントを追加するだけでよいため、 が高速になることです。Ext.createsencha は最初にこのオブジェクトを作成してから追加する必要があるため、他の可能性は遅くなると思います。
ただ問題は、そうではないということです。
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 に答える