我使用NSData保護iOS 4.2上的文件。 文件剛剛使用web服務下載到臨時文件夾,現在我想複製和保護它變成使用NSData的最終目的地和下面的代碼:NSData在保護文件時將整個文件內容保存在內存中時進行流式傳輸嗎?
NSData oData = NSData.FromFile (sSourcePathAndFile);
NSError oError = null;
oData.Save (sDestPathAndFile, NSDataWritingOptions.FileProtectionComplete, out oError);
我想知道:如果文件現在真的很大,NSData會將它保存在塊中,還是會將整個文件加載到內存中,最終運行內存不足,並且會失敗?
旁註:如果我備份我的iOS設備並恢復到其他設備,受保護的文件是否可以在那裏讀取?如果是的話,整個保護措施對我來說就沒有多大意義。
另外我會下載並加密1GB文件,看看會發生什麼。 – Krumelur 2011-02-02 16:24:21
我建議使用NSDataReadingMapped選項而不是+ dataWithContentsOfMappedFile :.這也可能是單點觸摸,因爲它似乎支持選項標誌... – 2011-02-02 19:58:30