尝试从路径/ URL(存储在documents文件夹中的视频文件)中获取数据时,该应用程序崩溃,仅适用于大文件(> 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]);
任何意见。
最佳答案
看来您的内存不足。
在设备上,通常可用的内存要少得多,因为模拟器和100MB的内存要大量存储在RAM中。考虑将可下载文件分成较小的块,并尽可能地对其进行分段处理。
我不认为
正如David所建议的那样,除非您在启动时就这样做。
关于ios - 从文件路径获取数据时崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11016247/