0

ArrayList list =... --> 从数据库中获取数据

//对列表中对象的值做一些改变

for(MyObject object:list){ object.save(); }

除了这个 for 循环,有没有一种方法可以比多次调用 save() 更有效地保存多个项目?

4

2 回答 2

2

终于找到了

FlowManager.getModelAdapter(MyTable.class).saveAll(myObjectsList);

它比多次调用 save 更快。从对 15 个项目的快速测试来看,多次保存平均需要 120 毫秒,而 saveAll 大约需要 100 毫秒。百分比明智,这是一个很大的差异。

于 2017-07-27T10:14:42.123 回答
0

save()多次调用就OK了。如果有一千个条目,您可以使用异步事务来避免阻塞 UI。

如果您真的想保存一次,请创建一个新表(模型)名称ListObject,然后使用一对多关系将其存储为List<Object>. 所以只需要保存一次。 https://agrosner.gitbooks.io/dbflow/content/Relationships.html

于 2017-07-27T09:40:05.040 回答