Java Android中的realmdb快疯了
因此,我有以下问题:Java Android中的realmdb快疯了,java,android,realm,Java,Android,Realm,因此,我有以下问题: if (!realm.isClosed()){ Log.d("PROVIDER realm not clsd", "closing now"); realm.executeTransaction((t)->realm.close()); } 这引发了一个例外。这是: D/PROVIDER realm not clsd: closing now D/AndroidRuntime: Shutting down VM E/A
if (!realm.isClosed()){
Log.d("PROVIDER realm not clsd", "closing now");
realm.executeTransaction((t)->realm.close());
}
这引发了一个例外。这是:
D/PROVIDER realm not clsd: closing now
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start receiver This Realm instance has already been closed, making it unusable.
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3047)
现在,当您检查
Realm.isClosed()
时,Realm.isClosed()==false时,“Realm实例已经被关闭了”
?当您检查Realm.isClosed()
时,它确实没有关闭。但是,您已经打开了一个事务,为了完成该事务,仍然需要打开该领域实例。问题是,您正在事务中关闭此实例简单解决方案:从事务内部删除realm.close()
,它不需要在一个事务中。您关闭了事务内部的领域,为了完成事务,它必须是打开的。我不认为你需要把它放在交易中才能结束它。就是这样!谢谢。既然这解决了你的问题,我会发布一个答案,请你接受。继续:)。。。。。。