java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.

在使用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://stackoverflow.com/questions/41447871/this-realm-instance-has-already-been-closed-making-it-unusable-rxjava

https://groups.google.com/forum/#!topic/realm-java/-OrSlAu9jdo

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章