iOS中malloc後內存不下降

最近遇到個問題:在app初始化的時候,做了一件事,從plist中讀取數據,然後通過遞歸調用自定義的方法進行數據轉Model,一切看起來都正常不過。

可是當我的數據比較複雜,遞歸的次數多的時候,就會發現明顯加載速度變慢了,可是這種情況只會發生在初次加載的時候,也就是說當我這個界面返回到上個界面(本界面已經malloc了)的時候,再次進入,會發現界面比第一次塊的不是一點半點。

明明都已經malloc了,按照常理說,界面的所有東西都應該再來一遍的,但爲什麼數據轉model的時間差了這麼多呢?

一直百思不得其解,今天偶然看到了大神的解答,如下:

malloc出來的一部分內存算到了VM(虛擬內存)中,爲了下次加載速度更快,這部分內存雖然調用了free,但iOS系統依然沒有將其回收。這就是上面說的部分malloc出來的內存也算在虛擬內存中

說了這麼多,其實是自己沒法用圖片描述出來,意思就是這樣,希望對您的iOS開發有幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章