从filepath获取数据时崩溃
尝试从路径/ URL(存储在文档文件夹中的video文件)中获取数据时,应用程序崩溃仅适用于大文件(> 100 MB)。
设备详细信息:iOS(4.3),iPad 1
- URL很完美(已检查日志)
- 文件存在于该路径(已检查路径)
注意:仅在设备上崩溃。
以下是应用崩溃的代码:
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中。 考虑将可下载文件分成更小的块,如果可以的话,将它们分成几部分处理。
我不认为
你花了很长时间,应用程序被杀死。
正如大卫建议的那样,除非你在启动时这样做。