Swap:交換分區
類似Windows的虛擬內存,就是當記憶體不足的時候,把一部分硬碟空間虛擬成記憶體使用,從而解決記憶體容量不足的情況。 Android是基於Linux的作業系統,所以也可以使用Swap分區來提升系統運作效率。
擴充資料:
並不是所有從實體記憶體交換的資料都會被放到Swap(如果這樣的話,Swap就會不堪重負),有相當一部分資料被直接交換到檔案系統。
例如,有的程式會開啟一些文件,對文件進行讀寫(其實每個程式都至少要開啟一個文件,那就是執行程式本身),當需要將這些程式的記憶體空間交換出去時,就沒有必要將檔案部分的資料放到Swap空間了,而可以直接放到檔案裡去。如果是讀取文件操作,那麼記憶體資料直接釋放,不需要交換出來,因為下次需要時,可直接從檔案系統恢復;如果是寫文件,只需要將變化的資料儲存到文件中,以便恢復。
但是那些用malloc和new函數產生的物件的資料則不同,它們需要Swap空間,因為它們在檔案系統中沒有對應的「儲備」文件,因此被稱作「匿名」(Anonymous)內存資料。這類資料還包括堆疊中的一些狀態和變數資料等。所以說,Swap空間是「匿名」資料的交換空間。
以上是swap是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!