我正在使用URLStream下载大文件并在移动应用上本地保存。为此,我需要将下载的字节存储在ByteArray:
private function handleStreamProgress(event : ProgressEvent) : void {
if ( urlStream.bytesAvailable == 0 ) return;
if ( urlStream.connected ) {
urlStream.readBytes(byteArray, byteArray.length);
fileStream.writeBytes(byteArray, bytesOffset);
bytesOffset = byteArray.length;
}
}
下载文件中的这些字节是否存储在内存中? (但是,探测器不会显示任何过多的内存消耗,而是......)
在存储每个字节序列后,我应该清理byteArray吗?
答案 0 :(得分:0)
除非您明确将数据推送到磁盘,否则数据将存储在内存中。
我不确定清理byteArray 是什么意思。 ByteArray
作为一个整体包含组成数据的字节。您当然可以将阵列拆开并在某个时间点将其合并,但数据本身必须保留在某个位置,以便下载的数据能够代表它实际上是什么。