DBFlow - 高效地更新多个项目

DBFlow - update multiple items efficiently

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

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

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

有没有比多次调用 save() 更有效的保存多个项目的方法来代替这个 for 循环?

多次调用save()即可。如果有一千个条目,你可以用 asynchronous transaction 来避免阻塞 UI。

如果你真的想保存一次,创建一个新的table(模型)名称ListObject,然后使用一对多的关系将其存储为[=12] =].所以只能保存一次。 https://agrosner.gitbooks.io/dbflow/content/Relationships.html

终于找到了

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

而且比多次调用保存要快。从对 15 个项目的一些快速测试来看,多次保存平均花费了 120 毫秒,而 saveAll 花费了大约 100 毫秒。从百分比上看,差别很大。