最近在做android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。

android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。

解决方法:

添加事务处理,把5000条插入作为一个事务

SQLiteDatabase db;

db.beginTransaction();//手动设置开始事务

//数据插入操作循环

db.setTransactionSuccessful();//设置事务处理成功,不设置会自动回滚不提交

db.endTransaction();//处理完成


更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android(安卓)XML解析学习——创建XML
  5. [最全]Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案
  6. 谷歌无限期推迟Android(安卓)2.1操作平台源代码开放
  7. Android安全机制--操作系统安全机制-进程、用户与文件安全
  8. android飞行模式灰显不能操作问题分解
  9. Study on Android【四】--显示控件使用

随机推荐

  1. eclipse安装及配置android基础教程
  2. android DecorView的使用
  3. 转载 Android 通过adb shell命令查看内存
  4. EditText仅允许特定类型数据输入
  5. Android(安卓)9.0及以上版本中,关于多进程
  6. Android webview监听网页对话框点击事件
  7. Android实现TextView中部分文字监听事件
  8. Android(安卓)音量控制流程分析
  9. Android投票自定义View
  10. android调用js