2009-03-16 1 views
0

Как я могу определить, что в настоящее время находится в памяти Flash-модуля Mozilla для AVM1? Я пытаюсь отлаживать большое приложение, которое мы создали, и нужно посмотреть, что получает сбор мусора и когда. Я думаю, что у нас есть несколько ссылок, в результате чего узлы основного контента не выгружаются во время сеанса пользователя. Сейчас все работает.ActionScript Virtual Machine 1 - Проверка памяти

ответ

1

, даже если у вас был профилировщик в Firefox, это было бы догадкой, так как сборщик мусора является «бит» беспокойным в AVM1. он будет делать сборку, если есть внезапный пик в использовании памяти, и, конечно, вам удалось удалить все ссылки на ваши объекты. что работает для меня: 1. удалить все слушатели 2. Объект = нуль 3. Удалять объект

, но в любом случае, вы должны тратить свое время на оптимизацию кода и убедившись, что вы не оставляете изгоев слушателей (или используйте делегат для передачи ссылок на методы с ограниченным доступом, грязные, но эффективные), вместо того чтобы пытаться найти способ точно контролировать память. если вам действительно нужно, используйте ОС на основе одного и проверьте процесс Firefox или временно переключите проект на Flash Lite и используйте Device Central.

+0

Мы говорим о довольно большом проекте, построенном 10 разработчиками или около того, я сделал всю основную инженерию, но я не верю, что за последние 12 месяцев все мои практики были соблюдены. Поэтому мне нужно какое-то общее судебное решение, чтобы помочь мне выследить преступников. Cheers, – Jotham

+0

ah ok, я понимаю, что вы имеете в виду :) ну, я не думаю, что есть простой способ, тестирование и определение того, какая часть является нарушителем, должна быть ручным процессом, как только у вас появится идея, используйте инструменты отладки, такие как http://osflash.org/xray, хотя в конце дня вы все равно будете искать код. – dain