在房间中插入时间慢

时间:2018-08-31 08:36:50

标签: android android-room

我使用API​​ 27,并且在下载客户的地方有此代码。每次下载客户时,我都会得到1万条记录,并将它们插入到Room中。但是插入它们需要5秒。我想同时插入多个10k,所以一个线程将等待另一个线程完成5s。

问题

1)是更快的方法还是另一种方法?

2)同样在API 23中,一次插入需要12s相同数量的记录,但是这是在不同的实际设备上。房间不是最优化的还是性能取决于设备?

public abstract class AppDatabase extends RoomDatabase {

    private static AppDatabase sInstance;

    @VisibleForTesting
    public static final String DATABASE_NAME = "Database_db";

    public abstract CustomerDao repoCustomer();

    public static AppDatabase getInstance(Context context) {

    if (sInstance == null) {
        synchronized (AppDatabase.class) {
            if (sInstance == null) {
                sInstance = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, DATABASE_NAME).build();
            }
        }
    }
    return sInstance;
}

public void downloadCustomers(final String table){

    executors.diskIO().execute(new Runnable() {
        @Override
        public void run() {
            //Download customer List<Customer>
            repo.myDAO.insert(list);
        });
    }  
}    

0 个答案:

没有答案