1

应用程序在尝试从路径/URL(存储在文档文件夹中的视频文件)仅针对大文件 (>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]);

任何意见。

4

1 回答 1

3

看来您的内存不足了。

在设备上,您的模拟器通常可用的内存要少得多,并且 100MB 可以存储在 RAM 中。考虑将可下载的文件分成更小的块,如果可以的话,分块处理。

我不认为

您花费了很长时间,并且该应用程序被杀死了。

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

于 2012-06-13T14:05:18.353 回答