FileReference.save() を使用してメモリの問題が発生しました。私の Flash アプリケーションはリアルタイムで大量のデータを生成し、このデータをローカル ファイルに保存する必要があります。私が理解しているように、Flash 10 (AIR とは対照的に) はファイルへのストリーミングをサポートしていません。しかし、さらに悪いことに、 FileReference.save() は保存する前にすべてのデータを複製します。この 2 倍のメモリ使用量に対する回避策を探していて、次のアプローチについて考えました。
ByteArray のカスタム サブクラスを引数として FileReference.save() に渡すとどうなるでしょうか。この ByteArray サブクラスはすべての read*() メソッドをオーバーライドします。オーバーライドされた read*() メソッドは、アプリケーションによってデータが生成されるのを待ち、このデータを返し、すぐにメモリから削除します。生成されるデータの量はわかっているので、length/bytesAvailable メソッドをオーバーライドすることもできます。
それは可能でしょうか?やり方のヒントを教えてください。ByteArray のサブクラスを作成し、そのエイリアスを登録し、このサブクラスのインスタンスを FileReference.save() に渡しましたが、どういうわけか FileReference.save() はそれを ByteArray インスタンスと同じように扱っているようで、そうではありませんオーバーライドされたメソッドのいずれかを呼び出します...
助けてくれてありがとう!