|
|
|||||
Регистрация: Apr 2013
Сообщений: 77
|
System.totalMemory
Недавно начал изучение AS3, возник вот такой вопрос: Как можно отслеживать потребление памяти моей программой ? Я делал вот так:
Компилировал программу в Flash и вызывал печатал свойство System.totalMemory . Также через определенный период я вызывал System.gc() и снова печатал. Так вот, тут возник еще 1 вопрос. System.gc() - Имитирует сборку мусора или что она делает такое? Собственно всё, буду очень благодарен за помощь. |
|
|||||
System.gc() это принудительный вызов сборщика мусора. Т.е. в плеере реализован механизм автоматической сборки мусора который запускается через некоторый промежуток времени. Но этой функцией вы можете запустить сборщик принудительно. (Может ошибаюсь, но вроде работает только в debug player, лень лезть в документацию)
Отслеживание потребления памяти можно реализовать несколькими путями. Например можно воспользоваться профайлерами такими как например в FlashDevelop. Тут есть плюс в том что вы можете посмотреть на какие объекты тратите память и сколько экземпляров вообще создается и т.д. Можно подключить консоль, как например эту. Тут плюсом является то, что можно запустить в рабочей версии, правда функциональность конечно сильно страдает в сравнении с профайлером. Но и плюсов в другой области не меньше. Можно просто посмотреть сколько плеер тратит памяти в диспетчере задач. Тупо, но надежно |
|
|||||
а еще лучше не вынуждать GC "выползать из норы"
__________________
местонахождение |
|
|||||
Регистрация: Apr 2013
Сообщений: 77
|
Странно, но Flash и FD выдают значения памяти, которые отличаются на 1.2 мб (4.1 = Flash, FD = 5.3). Или это не та память? Вот картинка из FD.
Последний раз редактировалось Idon'tKnow; 01.05.2013 в 16:21. Причина: Ошибка |
|
|||||
Регистрация: Apr 2013
Сообщений: 77
|
Благодарю.
|
Часовой пояс GMT +4, время: 16:44. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|