使用Realm实例的最佳做法是什么?在我使用realm实例的任何地方的代码中,在我完成了realm实例后,我自己关闭它,但我经常遇到这个问题。
例如,
static void setUserEmailVerifiedToRealm(){
User realmUser = getUserFromRealm();
Realm realm = null;
try {
realm = Realm.getDefaultInstance();
realm.executeTransaction(realm1 -> { // Exception
if(realmUser != null) {
realmUser.setEmailVerified(true);
Log.d("xxx", "Email verified");
}
});
} finally {
if(realm != null) {
realm.close();
}
}
}
public static User getUserFromRealm(){
Realm realm = null;
final User[] user = new User[1];
try {
realm = Realm.getDefaultInstance();
realm.executeTransaction(realm1 -> {
user[0] = realm1.where(User.class).findFirst();
});
} finally {
if(realm != null) {
realm.close();
}
}
return user[0];
}
在这里,我的情况是发生此错误的地方: -
if/else
我无法理解如何解决这个问题,任何指针都会非常感激。