ArrayList list =... -->从数据库获取数据
//修改列表中对象的值
for(MyObject object:list){ object.save();}
有没有比多次调用save()更有效的方法来保存多个项目而不是这个for循环呢?
发布于 2017-07-27 10:14:42
终于找到了
FlowManager.getModelAdapter(MyTable.class).saveAll(myObjectsList);
而且它比多次调用save更快。从对15个项目的一些快速测试中,多次保存平均需要120毫秒,而saveAll大约需要100毫秒。从百分比上讲,这是一个相当大的差异。
发布于 2017-07-27 09:40:05
多次调用save()
是可以的。如果有一千个条目,您可以使用asynchronous transaction来避免阻塞UI。
如果您真的想保存一次,请创建一个名为ListObject
的新表(模型),然后使用一对多关系将其存储为List<Object>
。所以只需要保存一次。https://agrosner.gitbooks.io/dbflow/content/Relationships.html
https://stackoverflow.com/questions/45346637
复制相似问题