11

Sencha Touch 2 でメモリを節約する方法を検討しています。以下で説明するように、2 つのオプションがあります。

2 つのオプションのメモリ消費量の違いについてアドバイスをもらいたいのですが、何か不足していないかどうかを知りたいです。

メモリ節約オプション

  1. 削除して破棄

    未使用のコンポーネントをコンテナから取り出し、破棄します。それらが再び必要になったら、それらを再作成します。

    利点:

    このアプローチは、コンテナ ref の「autoCreate」オプションとコンテナ構成の「autoDestroy」オプションによって大幅に支援されます。

    短所:

    ビューを破棄前と同じように再作成するには、再作成したいすべての重要な情報 (リストのスクロール位置、マップのマップセンターなど) が別の場所で状態として保持されていることを確認する必要があります。

  2. 削除する

    未使用のコンポーネントをコンテナから破棄せずに取り除きます。それらが再び必要になったら、それらをコンテナーに再接続します。

    利点

    1. GUI 関連の情報を状態としてどこかに保持する必要はありません。
    2. DOM に表示されていない場合でも、コンポーネントを更新できます。

    短所

    1. コンポーネントは DOM から消去されますが、Sencha オブジェクトは引き続きメモリに保持されます
    2. 切り離されたコンポーネントをどこかに保持し、新しいコンポーネントを作成する前に既存のコンポーネントを確認して添付する必要があります
4

1 に答える 1

2

Sencha フォーラムにも投稿しました: http://www.sencha.com/forum/showthread.php?200314-Memory-Management-Options

私は次のかなり一般的な答えを得ました:

コンポーネントを削除しても破棄しない場合、DOM サイズは最小限に抑えられますが、もちろんそのコンポーネントはデバイス メモリに残っています。利点は、DOM サイズが小さくなるため、パフォーマンスが向上し、DOM サイズがメモリ内にいくつかのコンポーネントを配置するよりも大きな影響を与えることです。

于 2012-05-12T22:22:50.630 に答える