+ (nullable instancetype)dataWithContentsOfURL:(NSURL *)url options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;
- NSDataReadingMappedIfSafe 提示顯示文件應(yīng)該映射到虛擬內(nèi)存,如果可能和安全
- NSDataReadingUncached 提示顯示文件不應(yīng)該存儲(chǔ)在文件系統(tǒng)緩存籍凝。數(shù)據(jù)讀取一次,丟棄,這個(gè)選項(xiàng)可以提高性能
- NSDataReadingMappedAlways 在如果可能提示映射文件
總之對(duì)于大文件的處理锌俱,使用NSDataReadingMappedIfSafe進(jìn)行映射就能大幅度優(yōu)化丈攒,文件內(nèi)存映射是指把一個(gè)文件的內(nèi)容映射到進(jìn)程的內(nèi)存虛擬地址空間中,這個(gè)實(shí)際上并沒有為文件內(nèi)容分配物理內(nèi)存担神。實(shí)際上就相當(dāng)于將內(nèi)存地址值指向文件的磁盤地址。如果對(duì)這些內(nèi)存進(jìn)行讀寫,實(shí)際上就是對(duì)文件在磁盤上內(nèi)容進(jìn)行讀寫则果。