DBFlow - 有效地更新多个项目

时间:2017-07-27 09:27:49

标签: android database dbflow

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

//对列表中对象的值进行一些更改

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

有没有一种方法可以保存多个项目,而不是多次调用save()?

2 个答案:

答案 0 :(得分:2)

最终找到了

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

并且它比多次调用save更快。通过对15个项目的一些快速测试,多次保存平均花费120毫秒,而saveAll花费大约100毫秒。百分比方面,这是一个很大的差异。

答案 1 :(得分:0)

多次调用save()即可。如果有一千个条目,您可以使用asynchronous transaction执行此操作以避免阻止UI。

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