Параметры управления памятью Sencha Touch 2

Я ищу способы сохранить память в Sencha Touch 2. Я вижу два варианта, как я опишу ниже.

Я хотел бы получить совет о разнице в потреблении памяти между двумя параметрами и узнать, не хватает ли чего-либо.

Параметры сохранения памяти

  • Удалить и уничтожить

    Удалите неиспользуемые компоненты из своих контейнеров и уничтожьте их. Когда они снова понадобятся, заново создайте их.

    Преимущество:

    этому подходу может быть в значительной степени способна опция refrement auto AutoCreate для контейнера и опция "autoDestroy" конфигурации контейнера.

    Недостаток:

    чтобы воссоздать представление так, как оно было до разрушения, вам нужно убедиться, что каждая важная часть информации, которую вы хотите воссоздать (например, расположение прокрутки в списке, карта-центр на карте) хранится как состояние в другом месте.

  • Удалить

    Удалите неиспользуемые компоненты из своих контейнеров БЕЗ уничтожения. Когда они снова понадобятся, снова присоедините их к своим контейнерам.

    <сильные > Преимущества

    • Не нужно содержать информацию, связанную с GUI, как состояние.
    • компонент может быть обновлен, даже если он не отображается в DOM.

    Недостатки

    • компонент очищается от DOM, но объект Sencha все еще сохраняется в памяти.
    • вам нужно будет оставить отдельные компоненты где-нибудь, и обязательно проверьте наличие и прикрепление - существующие до создания новых

Ответ 1

Я также разместил это на форумах Sencha: http://www.sencha.com/forum/showthread.php?200314-Memory-Management-Options

Я получил следующий, довольно общий ответ:

Если вы удаляете компонент, но не уничтожаете его, вы уменьшаете размер DOM, но, конечно, у вас все еще есть этот компонент в памяти устройства. Преимущество заключается в том, что размер DOM снижается, у вас более высокая производительность, а размер DOM будет иметь большее влияние, чем наличие некоторых компонентов в памяти.