做数据同步时遇到一个问题,在下载数据时需要批量的向sqlite插入数据,虽然数据不算多,但是实际测试中每插入一条数据需要将近50ms的时间,这意味着1000条数据需要花
做数据同步时遇到一个问题,在下载数据时需要批量的向sqlite插入数据,虽然数据不算多,但是实际测试中每插入一条数据需要将近50ms的时间,这意味着1000条数据需要花费50s左右的时间,对于用户来说,体验太差了,必须要优化。 在sqlite插入数据的时候默认一条语句是一个事务,有多少条数据有多少次磁盘操作。明白了这个,解决方案有了,在批量插入数据的时候,只开启一个事务,这样只会进行一次磁盘操作,代码如下: db.beginTransaction(); try { for (...) { db.execSQL("...", new Object[]{}); } db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } 使用事务后性能有明显的提升,以批量操作100条为例,由原来的5s优化成了现在的1s
--结束END--
本文标题: Android批量插入数据性能优化
本文链接: https://lsjlt.com/news/28653.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0