Android 获取领域中的嵌套对象很慢
我有两个RealmObject类,NodeToUser和Task:Android 获取领域中的嵌套对象很慢,android,realm,Android,Realm,我有两个RealmObject类,NodeToUser和Task: class NodeToUser extends RealmObject { int id; Task task; String otherStuff; } class Task extends RealmObject { int id; String name; } 现在,我想要所有任务,其中NodeToUser.otherStuff==“foo” 我想到的只是在NodeToUser
class NodeToUser extends RealmObject {
int id;
Task task;
String otherStuff;
}
class Task extends RealmObject {
int id;
String name;
}
现在,我想要所有任务,其中NodeToUser.otherStuff==“foo”
我想到的只是在NodeToUser上做一个查询,如下所示:
RealmResults<NodeToUser> nodes = realm.where(NodeToUser.class)
.equalTo("otherStuff", "foo")
.findAll();
RealmResults nodes=realm.where(NodeToUser.class)
.equalTo(“其他东西”,“foo”)
.findAll();
然后检查结果并收集实际任务
List<Task> tasks = new ArrayList<>();
for (NodeToUser n : nodes) tasks.add(n.getTask());
List tasks=new ArrayList();
对于(NodeToUser n:nodes)任务,添加(n.getTask());
但是,这种迭代结果和收集我真正想要的对象的过程非常缓慢——只是一个粗略的值:对于100个NodeToUser对象,在我的设备上需要2秒钟
问题:是否有更好/更快的方法或某种方法来创建查询以便直接获取任务列表?类节点用户扩展RealmObject{
class NodeToUser extends RealmObject {
int id;
Task task;
String otherStuff;
}
class Task extends RealmObject {
int id;
String name;
@LinkingObjects("task")
private final RealmResults<NodeToUser> fromNodes = null;
}
int-id;
任务;
串其他东西;
}
类任务扩展了RealmObject{
int-id;
字符串名;
@链接对象(“任务”)
private final RealmResults fromNodes=null;
}
然后
RealmResults tasks=realm.where(Task.class)
.equalTo(“fromNodes.otherStuff”,“foo”)
.findAll();
RealmResults<Task> tasks = realm.where(Task.class)
.equalTo("fromNodes.otherStuff", "foo")
.findAll();