在使用Realm访问数据库的时候,报java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.异常。
原因:
查询完数据,使用查询结果的时候,数据没有拷贝到内存中,Realm的数据总是实时访问的。
eg:
Realm realm = Realm.getDefaultInstance();
myObject = realm.where(....).findFirst();
realm.close();
String name = myObject.getName();
这样使用,就会报该异常。
修改如下:
Realm realm = Realm.getDefaultInstance();
myObject = realm.where(....).findFirst();
MyObject o = realm.copyFromRelam(myObject);
realm.close();
String name = o.getName();
参考链接:
https://groups.google.com/forum/#!topic/realm-java/-OrSlAu9jdo