当尝试从路径/ URL(存储在文档文件夹中的视频文件)中获取数据时,应用程序崩溃仅适用于大文件(> 100 MB)。
设备详细信息:iOS(4.3),iPad 1
注意:仅在设备上崩溃。
以下是应用崩溃的代码:
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]);
任何评论。
答案 0 :(得分:3)
好像你的内存不足了。
在设备上,通常可用的内存少得多,模拟器和100MB的内存很多都要存储在RAM中。考虑将可下载文件分成更小的块,如果可以,可以将它们分成几部分处理。
我不认为
正如大卫建议的那样,除非你在启动时这样做。你需要很长时间才会被杀死。