我正在尝试用Realm
数据库开发我的
Android应用程序.
今天我遇到了以下问题:
我在表中添加了一个记录列表,然后尝试删除其中一个.
删除其余的顺序后更改(与删除前的顺序不同).
请参阅下面的图片以查看详细信息.
删除之前
删除第3项后
问题是:那是一个功能还是一个bug?我如何保持记录的顺序?
我知道我可以轻松地获得正确的顺序,因为我想添加一个新字段作为createTime或类似的东西,但我想找到一个非常简单的解决方案作为Realm的配置.
默认情况下,Realm中的项目不会排序,因此您应该将任何
查询结果视为无序集合,除非您对其进行了明确排序.
通常,这些项目会按照您插入的顺序出现,但不是保证.技术原因的根本原因是我们压缩磁盘上的数据,因此如果删除列表中间的项目,最后一项将移动到其位置.
所以答案是:它按预期工作,如果您希望对结果进行排序,则应使用排序方法.