0
我正在使用领域在我的Andorid应用中存储产品列表。 所以,我收到了一个约3k物品的产品清单。 我试图将它们存储这样的:Realm花费太长的时间将对象复制到RealmObject中
@Override
public void saveAll(List<ProductsDomain> domainProducts) throws InstantiationException, IllegalAccessException {
Realm instance = getRealmInstance();
RealmList<ProdutcsRealm> realmProducts = new RealmList<ProdutcsRealm>();
try {
ProdutcsRealm realmProduct = getClasseEntidadePersistencia().newInstance();
for (ProductsDomain domainProduct : domainProducts) {
fromDomainToPersistence(domainProduct, realmProduct);
realmProducts.add(realmProduct);
}
instance.beginTransaction();
instance.copyToRealm(realmProducts);// taking to long, 3k items
instance.commitTransaction();
} catch (Exception e) {
e.printStackTrace();
instance.cancelTransaction();
return;
}
}
因此,该领域在花费过多时间,像20分钟。任何人有任何想法获得更好的表现?
已解决: 我发现问题了!我为所有迭代使用相同的ProductsRealm实例。看起来像Realm在你尝试保存一个对同一个对象的多个引用列表时不工作。
呀,你的方法是有效的,并解决问题。我为来自域的每个对象使用相同的实例。当我试图保存时,看起来像是Realm陷入死锁或其他事情。 –