【iOS开发】音视频转码过程中超大文件容易崩溃

484 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情


问题点

日常iOS开发中,对体积超大的音视频文件进转码时,容易发生崩溃。

异常原因

内存占用过高。

解决方法:

+ (id)dataWithContentsOfFile:(NSString *)path options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr; 

其中NSDataReadingOptions可以附加一个参数。NSDataReadingMappedIfSafe参数。使用这个参数后,iOS就不会把整个文件全部读取的内存了,而是将文件映射到进程的地址空间中,这么做并不会占用实际内存。这样就可以解决内存占用过高的问题。