崩溃而从获取数据文件路径(Crashes while fetching data from file

2019-09-18 01:37发布

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

装置详细信息:iOS的(4.3),iPad的1

  1. 网址是完美的(经过日志)
  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]);

任何意见。

Answer 1:

看来您正在运行内存不足。

在设备通常有可用少得多的内存,你的模拟器和100MB很多在RAM中存储。 考虑打破了下载的文件分成较小的块,如果你能处理他们的作品。

我不认为

你正在采取的很长一段时间和应用程序就会被杀死。

大卫建议,除非你是做这个的启动。



文章来源: Crashes while fetching data from filepath