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

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

解决方法:

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

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

//数据插入操作循环

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

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


转自:http://geyubin.iteye.com/blog/1272505

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android(安卓)根据EditText搜索框ListView动态显示数据
  5. Android下实现数据绑定功能
  6. android 获取上一个activity的返回值
  7. 一个大型新闻app的骨架(android)
  8. Flutter插件混编的各种奇葩问题以及Flutter与Native数据交互,Meth
  9. Android(安卓)ListView中复杂数据流的高效渲染

随机推荐

  1. 解决Intellij Idea,Android(安卓)Stuido的
  2. android读短信
  3. InputStream输入流,读取数据实例
  4. Android跳转intent简单教程
  5. Android(安卓)day_10-02 (广播接收者的使
  6. Android(安卓)自定义 Toast 显示时间
  7. android获取短信所有内容
  8. Android(安卓)WebView 图片自适应屏幕宽
  9. Android学习札记36:一个关于onSaveInstanc
  10. 轮播网络图片加载适配