Выгрузка swf с Vector.<T>
Если в модуле есть вектор сложного типа, например Vector.<Sprite>, то имеем утечку памяти.
С простым вектором всё впорядке. (для чистоты эксперимента модуль компилить в релизном режиме) Mac, AIR3. Можете проверить под Windows? https://gist.github.com/5a277685cfcbed6e8ccb |
Долго думал, как бы такое протестировать, но ничего не придумал - а как именно виден результат?
Ниже мои логи из дебаггера: Код:
r /home/wvxvw/Projects/as3-tests/bin/Shell.swf |
Олег, вот я сделал ещё версию для лёгкого теста https://dl.************/s/i1yqq9e9spp...duleLoader.swf
код: https://gist.github.com/5a277685cfcbed6e8ccb (добавил) Память нифига не чистится — вот как видно. Подгружаемый модуль — он же ужас какой элементарный. Человек тут говорит вот FP 10.3 Win — всё впорядке. А на 11ом и AIRе, похоже, того. |
А если так? Изменится ли что-нибудь?
Код AS3:
|
Цитата:
Я дома под виндами попробовал — 11.1 тоже глючит. И на андроиде тоже. А 10.3 вроде нормально. Народ, есть кто на десктопном линуксе? ... заполнил баг https://bugbase.adobe.com/index.cfm?...bug&id=3071138 |
Цитата:
|
Я ведь не галлюцинирую?
|
Цитата:
vote[+] |
Проголосовал, зацепил бы им аттач туда с тестом.
Добавлено через 1 минуту Сейчас посмотрю в Ubuntе. Добавлено через 1 час 15 минут Подтверждаю на ubuntе. Плеер 10, память растёт. |
Я могу предположить как может получаться утечка памяти - определение вектора создается по факту использования, за исключением векторов для примитивных типов, для которых существуют специальные отдельные классы. И это определение потом мешает выгрузить всю флешку.
Но я не вижу каким образом тест это проверяет :S Нужен какой-нибудь ожидаемый и какой-нибудь действительный результат. Например, если бы в загружаемой флешке было два кадра и на одном из них был бы trace(), если после выгрузки трейсы не пропали бы - можно было бы утверждать, что выгрузить не получилось. Еще я не уверен, что будет если попробовать getDefinitionByName("__as3__.vec.Vector.<Sprite>") или как там записывается имена векторов. |
Часовой пояс GMT +4, время: 20:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.