在使用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