美文网首页iOS开发
关于dataWithContentsOfFile 读取大文件的内

关于dataWithContentsOfFile 读取大文件的内

作者: yuebiubiu | 来源:发表于2018-06-01 14:13 被阅读138次

    在《中国区GPS偏移纠正(适用于Google地图)》一文中曾读取一个78M的大数据文件,一开始采用了NSData的dataWithContentsOfFile:方法。不少人反馈说如果直接使用,将会耗尽iOS的内存。

    其实这个是可以改善的。

    NSData还有一个API:

    + (id)dataWithContentsOfFile:(NSString *)path options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr; 其中NSDataReadingOptions可以附加一个参数,NSDataReadingMappedIfSafe参数。使用这个参数后,iOS就不会把整个文件全部读取的内存了,而是将文件映射到进程的地址空间中,这么做并不会占用实际内存,这样就可以解决内存满的问题。

    相关文章

      网友评论

        本文标题:关于dataWithContentsOfFile 读取大文件的内

        本文链接:https://www.haomeiwen.com/subject/goghqftx.html