iOS 读取大文件时候的注意点

Posted handsomeBoys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 读取大文件时候的注意点相关的知识,希望对你有一定的参考价值。

转:

使用NSData读取数据,采用NSData的dataWithContentsOfFile:方法。不少人反馈说如果直接使用,将会耗尽ios的内存。

其实这个是可以改善的。

NSData还有一个API:

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

以上是关于iOS 读取大文件时候的注意点的主要内容,如果未能解决你的问题,请参考以下文章

3分钟学会,学会用Python正确读取大文件

使用 BufferedInputStream 读取大文件时 Java 文件 IO 被截断

使用Apache Commons IO组件读取大文件

在spark udf中读取hdfs上的文件

java读取大文件 超大文件的几种方法

TCP协议传输大文件读取时候的问题