某一段代碼是這樣工作的:從文件創建的NSData在塊讀它
- 從盤讀取一個文件並將其存儲爲NSData的在存儲器
- 加密(解密)它從而導致相同大小的額外NSData對象在存儲器
- 寫入加密(解密)數據到磁盤現在
,對於像大小爲10或100 MB的文件,這工作得很好,並保持一個一致的大鼠e每秒處理字節數(因此處理一個100 MB的文件將需要10 MB的10 MB)。如果我說1.5個演出,那麼系統必須將其中2個保存在內存中,以便它開始交換到磁盤,並且速度顯着降低。
所以我想,也許以下是可能的:
- 看文件,並將其分成100MB的塊(例如)
- 讀一大塊
- 加密(解密),它
- 將加密塊添加到輸出文件
- 丟棄原始塊,以便整個過程最多需要200MB的RAM
我的問題是:
- 這可能嗎?
- 如果是這樣,那是最好的方法嗎?
- 如果是這樣,我將如何去實施它?
你需要說明你遇到了什麼問題? – 2012-04-04 15:49:46
以文件塊的形式讀取文件,在文件上做些東西並寫回來形成一個新文件。我只是不太熟悉像操縱記憶和東西這樣的低層次的東西,我猜我必須閱讀一些理論 – tux91 2012-04-05 05:45:16