2017-02-11 43 views
1

假設我獲取Realm對象列表並訪問結果中的所有數據(導致數據加載到內存中)。接下來,通過引用仍在附近的對象列表,我直接通過其主鍵獲取這些對象之一。我正確地假設,在這種情況下,對象將被返回而不必擊中磁盤?如果我不再提及最初的結果列表,該怎麼辦?它可能仍然在記憶中?最近訪問Realm對象保存在內存中嗎?

只是想知道如何通過Realm緩存對象,因此如果不需要,我不會不必要地嘗試優化代碼中的內容(例如,保留對象,我認爲我會盡快使用)。

回答

0

領域內存映射文件,並且只有當您實際讀取對象的屬性時才訪問它。這意味着最近訪問的數據仍將存儲在內存中,直到操作系統不得不放棄該內存以釋放其他內容爲止,並且磁盤I/O在從Realm獲取新對象方面沒有區別,到現有的對象。