尝试从路径/ URL(存储在documents文件夹中的视频文件)中获取数据时,该应用程序崩溃,仅适用于大文件(> 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中。考虑将可下载文件分成较小的块,并尽可能地对其进行分段处理。

    我不认为



    正如David所建议的那样,除非您在启动时就这样做。

    关于ios - 从文件路径获取数据时崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11016247/

    10-13 02:37