我有一个单例类“RealmDatabaseManager”,其中我有synchronized从领域本地数据库读取/写入的方法。
方法如下所示:
public long getPendingImagesCount() {
synchronized (this) {
realm = Realm.getInstance(RealmUtils.getRealmConfiguration());
long count = realm.where(PatientRecordImage.class)
.count();
realm.close();
return count;
}
}
this单例类的实例在哪里。
这些方法通过单例实例从主线程和工作线程访问。每个方法都会创建和关闭它自己的领域。
该代码在我正在测试的设备上没有问题,但我收到了来自某些设备的 Crashlytics 报告,给出了两个致命错误。
IllegalStateException: Realm objects can only be accessed on the thread they were created.
和
IllegalStateException: Realm instance can only be closed on the thread it was created.
这种方法有什么问题?如果需要,可以提供更多信息。
达令说
相关分类