Iphone Amazon S3(AWS)NSMutableData

Iphone Amazon S3(AWS)NSMutableData,iphone,ios,amazon-web-services,amazon-s3,nsmutabledata,Iphone,Ios,Amazon Web Services,Amazon S3,Nsmutabledata,我有一个关于AmazonS3的项目,下载大于50MB的大文件。它停止时不会出错,我将文件分块到更小的内存中,因为它的数据文件很大,并同时下载。当我以正确的顺序将区块数据附加到单个[NSMutableData]中时 视频无法播放。对这个相关主题有什么想法吗 请帮帮我这个项目整整一周我都坐在那里 您不应该仅使用RAM内存来管理这么多的数据 如前所述,您更愿意使用辅助内存(即NSFileManager) 下载完文件后,请正常播放。如果您确定用户不再需要它,请在播放后立即删除它 [编辑] 或者,您也可以

我有一个关于AmazonS3的项目,下载大于50MB的大文件。它停止时不会出错,我将文件分块到更小的内存中,因为它的数据文件很大,并同时下载。当我以正确的顺序将区块数据附加到单个[NSMutableData]中时 视频无法播放。对这个相关主题有什么想法吗


请帮帮我这个项目整整一周我都坐在那里

您不应该仅使用RAM内存来管理这么多的数据

如前所述,您更愿意使用辅助内存(即NSFileManager) 下载完文件后,请正常播放。如果您确定用户不再需要它,请在播放后立即删除它

[编辑]


或者,您也可以直接使用指向该URL的MPMoviePlayerController。

您需要做的是首先创建一个适当大小的文件。每个down loader对象必须知道文件中的偏移量以放置数据,它应该按显示方式写入,而不是存储在可变数据对象中。因此,这将大大降低此操作的内存占用

还有第二个组件:您必须设置打开文件的F_NOCACHE标志,以便iOS不会将文件写入保留在其缓存中


这两种方法都可以很好地发挥作用。在开发过程中也要使用大量的断言,以便在出现故障时能尽快知道,这样你就可以纠正任何问题。

关于错误的更多信息吗?没有错误。但下载的文件在使用NSMUTABLEDATA剪切成块并合并后损坏。要下载的是文件的内存,因为下载的文件大于50MB,这就是为什么我将文件分块并重新重建。。。有没有更好的方法来处理文件以避免损坏?谢谢你的回复