Я новичок в додзё и в настоящее время испытываю некоторые проблемы со значительными утечками памяти. Поскольку я читал, что сборщик мусора JavaScript может иметь проблемы с диджитами, которые не были уничтожены, я пытаюсь позаботиться об этом, но не слишком успешным.Как избежать утечек памяти, вызванных диджитами?
Итак, сначала я пытаюсь избавиться от всех виджетов, когда страница не остался:
dojo.addOnWindowUnload(function(){
dijit.registry.forEach(function(widget){
widget.destroy();
});
});
Это, кажется, помогает немного, но не так сильно, как я ожидал бы. Поэтому на определенных этапах я звоню:
dojo.forEach(dijit.findWidgets(node), function(widget){
widget.destroyRecursive();
});
Но у меня все еще есть утечки памяти, которые наверняка вызваны диджитами. Есть ли общие советы и рекомендации, как избавиться от таких? Или, если вышеописанные вызовы могут заботиться обо всем, и я должен искать где-то еще утечки? Ну, я знаю, что это довольно общий вопрос, но я надеюсь, что вы можете дать мне несколько советов.
Спасибо!
Какой браузер (-ы)? Только IE? –
только Firefox/OSx atm, Safari/OSx, похоже, ведут себя намного лучше. Еще не проверял других. – Tina