У меня проблемы с управлением памятью во флеш-приложении. Использование памяти несколько увеличивается, и я проследил, как я загружаю ресурсы.
Я вставил несколько растровых изображений в класс Embedded, например,
[Embed(source="/home/gabriel/text_hard.jpg")]
public static var ASSET_text_hard_DOT_jpg : Class;
Затем я копирую активы таким образом
var pClass : Class = Embedded[sResource] as Class;
return new pClass() as Bitmap;
В этот момент увеличивается использование памяти, что совершенно нормально. Однако null
все ссылки на объект не освобождают память.
Исходя из этого поведения, похоже, что флэш-плеер создает экземпляр класса в первый раз, когда я его запрашиваю, но никогда не выпускает его - не без ссылок, вызывая System.gc (), выполняя двойной трюк LocalConnection, или вызовом dispose () для объектов BitmapData.
Конечно, это очень нежелательно - использование памяти будет расти до тех пор, пока не будет создан экземпляр SWF, независимо от того, давно ли я перестал использовать какой-либо актив.
Мой анализ верен? Можно ли что-нибудь сделать, чтобы это исправить?