Я столкнулся с проблемой памяти при использовании FileReference.save (). Мое приложение Flash генерирует много данных в режиме реального времени и должно сохранить эти данные в локальном файле. Как я понимаю, Flash 10 (в отличие от AIR) не поддерживает потоковую передачу в файл. Но что еще хуже, FileReference.save () дублирует все данные перед их сохранением. Я искал обходной путь к этому удвоенному использованию памяти и думал о следующем подходе:
Что если я передам пользовательский подкласс ByteArray в качестве аргумента FileReference.save (), где этот подкласс ByteArray переопределит все методы read * (). Переопределенные методы read * () будут ожидать, пока мое приложение сгенерирует фрагмент данных, вернут этот фрагмент данных и немедленно удалят его из памяти. Я знаю, сколько данных будет сгенерировано, поэтому я также могу переопределить методы length / bytesAvailable.
Возможно ли это? Не могли бы вы дать мне подсказку, как это сделать? Я создал подкласс ByteArray, зарегистрировал для него псевдоним, передал экземпляр этого подкласса в FileReference.save (), но каким-то образом FileReference.save (), кажется, обрабатывает его так же, как это был экземпляр ByteArray, и не вызвать любой из моих переопределенных методов ...
Большое спасибо за любую помощь!