预填充会议室数据库需要太长时间

时间:2018-08-23 13:08:10

标签: android android-sqlite android-room

我正在尝试像这样预先填充本地Room数据库:

Room.databaseBuilder(
            context,
            MyDatabase.class,
            DB_NAME)
            // prepopulate the database after onCreate was called
            .addCallback(new Callback() {
                @Override
                public void onCreate(@NonNull SupportSQLiteDatabase db) {
                    super.onCreate(db);
                    AppExecutors.getInstance().diskIO().execute(() -> {
                        prepopulateDataEnglishVersionInDB(context);
                    });
                }
            })
            .build();

问题在于数据很多,此过程需要10秒钟以上,并且阻塞了我的一个LiveData观察者,该观察者等待onCreate回调完成才能将数据插入数据库。

是否有更快的方法来预填充数据库?

0 个答案:

没有答案