相关疑难解决方法(0)

Ormlite Android批量插入

任何人都可以解释为什么我的插页在Ormlite中花了这么长时间?在桌面上的一个sqlite事务中执行1,700次插入只需不到一秒钟.但是,当使用Ormlite for Android时,它需要大约70秒,我可以在调试消息中看到每个插入.

当我尝试将插入包装到一个事务中时,它以完全相同的速度运行.我知道Android和Ormlite都有开销,但是,我不希望它那么棒.我的代码如下:

    this.db = new DatabaseHelper(getApplicationContext());
    dao = db.getAddressDao();
final BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.poi)));
    try {
        dao.callBatchTasks(new Callable<Void>() {
            public Void call() throws Exception {
                String line;
                while ((line = reader.readLine()) != null) {
                    String[] columns = line.split(",");
                    Address address = new Address();
                    // setup Address
                    dao.create(address);
                } 
            return null;
         }
        });
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

sqlite android transactions ormlite

8
推荐指数
2
解决办法
8234
查看次数

标签 统计

android ×1

ormlite ×1

sqlite ×1

transactions ×1