有没有办法预加载<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
<Setter Property="BorderBrush" Value="Yellow"/>
</Style>
或RealmObject
或RealmList
?喜欢从数据库中读取em并将其存储在内存中。据我所知,Realm不会将实际数据存储在类对象的字段中。但我需要将数据至少存储在内存中。
假设我有一个很大的RealmResult
,它有多个RealmObject
个链接。在某些时候,我必须迭代这些孩子并阅读他们的一些领域。与简单地从RAM中读取值相比,这会产生更多的延迟。有时我可能需要在UI线程中迭代这些值。
我已经阅读了RealmObject
,但我并不完全理解它背后的机制。它实际上是在预加载数据吗?
感谢。
答案 0 :(得分:2)
如上所述 beeender :
Realm在底层存储引擎中使用mmap将db文件映射到 记忆。这意味着当您访问相同的数据两次时,数据就有了 如果内核不刷卡,则已经加载到内存中 远。问题是java需要从java堆加载数据,所以 每次都必须将数据从本机堆加载到Java堆。一个 建议是你真的有一些超级热门数据需要访问 所有的时间,也许你可以考虑使用
RealmObject.copyFromRealm()
将创建一个独立的对象和 数据在java堆中。但该对象将不再由Realm管理