Есть ли проблемы памяти с Ext.js

Вы можете попробовать использовать одно из этих свойств TextView:

android:lineSpacingMultiplier
android:lineSpacingExtra

, чтобы хотя бы попытаться сделать все строки одинаковой высоты (такой же, как первая).

8
задан Mr. Will 10 June 2009 в 21:22
поделиться

4 ответа

Первое, что бросается в глаза в вашем вопросе, это то, что вы видите это в IE. Моя команда недавно столкнулась с той же проблемой (Extjs в IE). Оказывается, виновником является не Ext, а скорее IE.

Быстрый поиск в Google для «утечки памяти закрытия IE» найдет вам множество объяснений, но основная суть такова:

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

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

9
ответ дан 5 December 2019 в 17:40
поделиться

Насколько мне известно, я не слышал о заметных утечках памяти в ExtJS. Хотя я уверен, что некоторые из них были, они обычно исправляются довольно быстро, а сообщество настолько велико, что известно большинство ошибок.

Убедитесь, что ваш дизайн основан на отдельных компонентах, которые вы можете добавлять и удалять, когда они больше не требуется, поскольку в большинстве случаев веб-страница ExtJS загружается только один раз, а память заполняется дополнительными компонентами, которые вы ей предоставляете. Вы можете освободить часть памяти с помощью Ext.destroy (this.el) после того, как закончите использовать компонент.

Также убедитесь, что вы используете Firebug для отслеживания любого компонента или объекта, который должен был быть удален.

0
ответ дан 5 December 2019 в 17:40
поделиться

Я думаю, что довольно легко создать утечку памяти при программировании с ExtJS для неопытных программистов. Это не проблема ExtJS сама по себе. Парадигма программирования ExtJS позволяет программистам легко допускать такие ошибки.

Исходя из моего опыта, я создавал утечку памяти, когда пытался создать простой чат AJAX с использованием ExtJS. Когда некоторые объекты постоянно создаются в обратных вызовах AJAX (например, хранилища данных, манипуляции с сеткой), эти объекты не освобождаются и не уничтожаются. Должны быть специальные и очень умные методы, используемые для предотвращения утечек памяти с помощью ExtJS, и они связаны не только с AJAX или обратными вызовами.

В общем, ExtJS - отличная библиотека, но ее нужно использовать осторожно.

1
ответ дан 5 December 2019 в 17:40
поделиться

Просмотрите эту ветку на их форумах , которая охватывает множество утечек в Ext 2.2, вызванных потерянными элементами. Похоже, что Ext 2.2.1 устранил большинство из них.

Проблема все еще открыта, кстати. ;)

0
ответ дан 5 December 2019 в 17:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: