#javascript #jquery #memory-leaks
#javascript #jquery #утечки памяти
Вопрос:
Я не являюсь частью команды jQuery, но эта утечка привлекла мое внимание. Тестовый пример прост, ничего особенного не происходит, и все же кажется, что найти причину утечки — настоящая проблема.
Я хотел бы попытаться исправить утечку, но понятия не имею, как это сделать. Какие инструменты / методы / подходы я должен использовать?
[Я знаю, что этот вопрос немного расплывчатый, но моя конечная цель очень точна: исправить эту чертову утечку.]
Ответ №1:
Сначала получите несжатый исходный код jQuery: 1.6.4 (более старые версии). После ознакомления с реальным кодом JavaScript (за кулисами) вы можете приступить к созданию тестового примера.
Первый шаг — изолировать проблему. Отключите части функции (в локальной, измененной версии вашего файла jQuery). Протестируйте новую функцию в разных условиях, чтобы убедиться, что примененное изменение имело значение. О проблеме сообщается в IE 6, 7 и 8. Подтвердите это сообщение, проверив его в нескольких браузерах.
Когда вы нашли причину, попробуйте создать исправление: начните писать базовое решение, которое (частично) реализует эту функцию. Повторите цикл, чтобы проверить, работает ли исправление так, как ожидалось.
Потратив несколько часов, вы, возможно, создали исправление проблемы. Прежде чем отмечать это, сравните эффективность исходной и исправленной функции в соответствующих тестовых примерах. Не бойтесь просить помощи у других.