|
|
|||||
Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
|
Ловим утечки памяти
Попробовал создать галерею с использованием Flex. Хотелось создать именно при помощи компонентов Flex Framework (AS+MXML). Основная идея была грузить данные из XML, затем генерировать слайды (VBox) и заполнять ими Canvas. После определённого интервала времени я смещал картинки, проверял и удалял методом removeChild те, которые уже не видны, затем добавлял новые итд. И вроде всё нормально, крутится, но! Случайно оставил приложение запущенным на часок, а когда пришел, то обнаружил дикие тормоза. Моя галерея усиленно отжирала куски памяти! Стал проверять, избавился ото всех жестких ссылок, удалял все ненужные eventListener-ы, да и добавлял их как weak-ссылки и.т.д. Пробовал даже в профайлере запускать сборщик мусора вручную - бесполезно. Память всё равно отъедается. Впечатление такое, что где-то остаются ссылки на удалённые картинки.
Кто сталкивался и что делать? Понимаю, что писать галерею лучше на чистом AS3 без Flex-компонентов, но уж очень хочется в показательно-образовательных целях. Выходит, что сборщик мусора у FlashPlayer такой кривой? В общем, поделитесь опытом! |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Выходит, что у Flex-фреймворка есть проблемы с памятью.
|
|
|||||
Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
|
__etc, вы это утверждаете? В смысле, есть подтвержденные данные, что память действительно съедается? Может всё-таки как-то можно это обойти?
|
|
|||||
Modus ponens
|
Если где-то забиндили картинки в MXML или добавили слушателей через MXML, прямо или косвенно - можно с памятью попрощаться
А вообще, не знаю, попробуйте разные СДК, это время от времени пытаются пофиксить... По этому поводу могу только порекомендовать проголосавать за этот тикет... http://bugs.adobe.com/jira/browse/SDK-20636 косвенно он относится и к вашей проблеме (невозможно удалить слушатель назначеный используя MXML) В качестве quick-and-dirty fix можно попробовать что-нибудь такое: http://code.google.com/p/e4xu/source.../MXMLHelper.as но, если по чесному, это маразм... нужно, чтобы MXML нормально компилировался, а не придумывать кривые заплатки врезультате чужих кривых решений...
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
|
wvxvw - согласен, полный маразм. Adobe позиционирует Flex framework как основу для Enterprise платформы и в то же время такие явные баги! Спасибо за полезные ссылки, попробую всё !
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Я не знаю, я не пользуюсь этим фреймворком. То, что он «утекает», я не удивлен.
|
|
|||||
Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
|
Цитата:
Немного оффтопа: а какая тогда есть альтернатива Flex framework? Не могли бы поделиться ссылками? Заранее спасибо. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Собственный фреймворк
|
|
|||||
Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
|
Понял, буду копать дальше (или тоже разрабатывать свой фреймворк). Спасибо!
|
|
|||||
если тема все еще актуальна, кое-что пишу об этом http://compile4fun.wordpress.com/
|
Часовой пояс GMT +4, время: 23:05. |
|
« Предыдущая тема | Следующая тема » |
Теги |
garbage collector , profiler , память |
Опции темы | |
Опции просмотра | |
|
|