簡體   English   中英

領域iOS RAM限制

[英]Realm iOS RAM limitation

來自領域限制: https//realm.io/docs/objc/latest/#current-limitations

“任何單個Realm文件都不能大於你的應用程序允許在iOS中映射的內存量 - 這會改變每個設備,並取決於該時間點內存空間的碎片程度(有一個雷達打開這個問題:rdar:// 17119975)。如果你需要存儲更多數據,你可以將它映射到多個Realm文件。“

這是否意味着單個Realm文件始終存儲在RAM中? 或者這是否意味着地址空間應該足夠大? 這句話非常令人困惑......

由於Realm在底層使用mmap ,它目前依賴於程序地址空間來擁有一個連續的無人認領地址塊,大於Realm文件的大小。 這是從實際可用內存量不同,因為內存可以free從地址空間的許多不同部分d,留下了不少未使用的內存,但地址空間沒有足夠大塊來mmap境界文件。

這是關於內存映射,即使用該文件作為后備存儲的虛擬內存。 從理論上講,操作系統可以通過這種方式訪問​​無限量的數據,完全獨立於您擁有的RAM數量。 這些文件絕對不會保存在RAM中。 它們占用地址空間,因此您將受限於32位應用程序,但它們不會占用RAM。

在實踐中,我已經嘗試映射1GB文件,並且沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM