假如现在要向Android本地数据库中插入1万条数据。按照一般的想法代码如下:

//假设strings.size() = 10000    try {        for (String data : strings) {            ContentValues contentValues = new ContentValues();            if(!TextUtils.isEmpty(data)){                contentValues.put(key, data);            }            mDb.insert(table_name, null, contentValues);        }    } catch (Exception e) {        e.printStackTrace();    } finally {        mDb.close();    }

如上做法可能会花费大概2minute,这是因为每次插入都会创建一次事务。在看看下面这段代码:

//假设strings.size() = 10000try {        mDb.beginTransaction();        for (String data : strings) {            ContentValues contentValues = new ContentValues();            if(!TextUtils.isEmpty(data)){                contentValues.put(key, data);            }            mDb.insert(table_name, null, contentValues);        }        mDb.setTransactionSuccessful();    } catch (Exception e) {        e.printStackTrace();    } finally {        mDb.endTransaction();        mDb.close();    }

比第一段多了3行,但插入操作花费的时间只需要4s左右,这是因为我们主动开启了一个事务,所以整个插入操作实在一个事务中完成的,花费的时间也大大的减少了。

更多相关文章

  1. Android的常用方法(转载)
  2. Android(安卓)编译系统 --- 版本信息
  3. [JAVA] Android用到的一些文件操作
  4. O1--添加假对焦功能并支持对焦
  5. fanfou(饭否) android客户端 代码学习3
  6. Android开发学习笔记:Android很有用的代码片段
  7. android 获得当前view在屏幕的坐标
  8. Android(安卓)备忘录
  9. Android实现拍照、录像、录音代码范例

随机推荐

  1. android App设计的工具+灵感
  2. Android中Http传递参数json参数请求数据
  3. 有关 Android Studio 重复引入包的问题和
  4. 第三方Android ROM市场前景
  5. Android 自带描边颜色渐变炫酷进度条
  6. 在android中通过gps wifi定位 位置
  7. 移动系统后起之秀渐露颓势:谷歌兄,拉Andr
  8. Android实训案例(三)——实现时间轴效果
  9. understand and use android mvc(理解及使
  10. XMPP协议之Androidpn介绍