从filepath获取数据时崩溃

尝试从路径/ URL(存储在文档文件夹中的video文件)中获取数据时,应用程序崩溃仅适用于大文件(> 100 MB)。

设备详细信息:iOS(4.3),iPad 1

  1. URL很完美(已检查日志)
  2. 文件存在于该路径(已检查路径)

注意:仅在设备上崩溃。

以下是应用崩溃的代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); if ([paths count] > 0) { filePath = [paths objectAtIndex:0]; filePath = [filePath stringByAppendingPathComponent:@"Private Documents"]; filePath = [filePath stringByAppendingPathComponent:@"videos"]; filePath = [filePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4",st]]; } NSURL *fileUrl=[NSURL fileURLWithPath:filePath]; NSMutableData *Data = [NSMutableData dataWithContentsOfURL:fileUrl]; //CRASHES ON THIS LINE NSLog(@"Data: %d",[Data length]); 

任何意见。

看来你的内存不足了。

在设备上,通常可用的内存少得多,你的模拟器和100MB很多都要存储在RAM中。 考虑将可下载文件分成更小的块,如果可以的话,将它们分成几部分处理。

我不认为

你花了很长时间,应用程序被杀死。

正如大卫建议的那样,除非你在启动时这样做。