Apache flex URLStream&;OSX-laggy
我正在使用URLStream通过HTTP下载30-80mb的文件。它在WindowsXP上下载得很好,但在OSX上下载得非常慢。有人有类似的问题吗?下面是一些代码片段Apache flex URLStream&;OSX-laggy,apache-flex,actionscript-3,air,Apache Flex,Actionscript 3,Air,我正在使用URLStream通过HTTP下载30-80mb的文件。它在WindowsXP上下载得很好,但在OSX上下载得非常慢。有人有类似的问题吗?下面是一些代码片段 function startDownload():void { //opening file var FileWriteStream:FileStream = new FileStream(); FileWriteStream.openAsync(Downloadi
function startDownload():void
{
//opening file
var FileWriteStream:FileStream = new FileStream();
FileWriteStream.openAsync(DownloadingFile, FileMode.WRITE);
//adding listeners to stream
URLReadStream = new URLStream();
URLReadStream.addEventListener(ProgressEvent.PROGRESS, trackCurrentDownload);
URLReadStream.addEventListener(Event.COMPLETE, downloadComplete);
URLReadStream.addEventListener(IOErrorEvent.IO_ERROR, downloadError);
URLReadStream.load(DownloadURLRequest);
function trackCurrentDownload(event:ProgressEvent):void
{
//update progress bars
DownloadProgress.setProgress(event.bytesLoaded+resumeSize, event.bytesTotal);
if (URLReadStream.bytesAvailable > 2048 || event.bytesLoaded == event.bytesTotal)
{
//read stream & write bytes to file
var byteArray:ByteArray = new ByteArray();
URLReadStream.readBytes(byteArray, 0, URLReadStream.bytesAvailable);
FileWriteStream.writeBytes(byteArray, 0, byteArray.length);
byteArray = null;
}
}
}
我尝试过不同的缓冲区大小。我甚至对进展事件进行了评论,但仍然很滞后。显然,我关闭了downloadComplete函数中的所有内容&删除侦听器。是否有人删除了回调中的进度事件侦听器并将其添加回回调末尾?我真的被难住了,尤其是因为它在Windows上工作得很好。感谢您的帮助或建议。Adobe的Jira上有一个公开的bug,它是关于Mac上Flash Player性能差的问题。 漏洞仍然存在。网上有关于这个问题的讨论: 第一个链接有一个解决方案,我没有尝试过修改帧速率。除此之外,flash player 10应该有更好的性能,我会尝试在新发布的air(2测试版)上运行该应用程序,看看性能是否有所提高