Работал над приложением, и поскольку он становится слишком большим, я подумываю о том, как улучшить управление памятью, поскольку приложение работает в основном на Javascipt. Поэтому каждый раз, когда нажимается элемент навигации, я вызываю jquery empty, а затем показываю html через ajax. ex:
//$.ajaxSetup(); called before this
//$this is the attached element
$.ajax({success:function(data){
$this.empty().html(data.output).fadeIn(400);
//more javascript stuff like loading tinymce or jquery ui
}});
Этого достаточно, чтобы предотвратить утечку памяти? Я не совсем уверен, что пустой, но я предполагаю, что он удаляет все элементы DOM внутри этого div вместе с любыми другими объектами и событиями? Кстати. Вы можете найти приложение здесь http://webproposalgenerator.com/ и http://webproposalgenerator.com/demo.
любые советы по улучшению производительности/безопасности или любой обратной связи на всех были бы весьма признательны.
У вас есть утечки памяти, или это только академическая дискуссия? Вы можете использовать инструменты разработчика в современных браузерах для проверки утечек памяти. Если вы не знаете, что делает '.empty()', то здесь [документация] (http://api.jquery.com/empty/). Он удаляет дочерние элементы и их данные и обработчики событий и сам элемент. – kubetz
В каком браузере (-ях) отображается поведение, которое выглядит как утечка памяти? – Corbin
Утечек памяти еще нет, я просто хотел планировать это, так как я переделываю основную структуру ядра. Я знаю в PHP, unset() - это способ пойти, пытаясь очистить блоки памяти, есть ли эквивалент javascipt/jquery? –