Use dedicated I/O executor

pull/210/head
M66B 3 years ago
parent d23bd75e8d
commit 9c5d1cbde5

@ -405,7 +405,7 @@ public abstract class DB extends RoomDatabase {
.databaseBuilder(context, DB.class, DB_NAME)
//.openHelperFactory(new RequerySQLiteOpenHelperFactory())
//.setQueryExecutor()
.setTransactionExecutor(Helper.getParallelExecutor())
.setTransactionExecutor(Helper.getBackgroundExecutor(4, "db"))
.setJournalMode(wal ? JournalMode.WRITE_AHEAD_LOGGING : JournalMode.TRUNCATE) // using the latest sqlite
.addCallback(new Callback() {
@Override
@ -2665,7 +2665,7 @@ public abstract class DB extends RoomDatabase {
public static void checkpoint(Context context) {
// https://www.sqlite.org/pragma.html#pragma_wal_checkpoint
DB db = getInstance(context);
Helper.getParallelExecutor().execute(new Runnable() {
db.getQueryExecutor().execute(new Runnable() {
@Override
public void run() {
try {
@ -2695,7 +2695,7 @@ public abstract class DB extends RoomDatabase {
public static void shrinkMemory(Context context) {
DB db = getInstance(context);
Helper.getParallelExecutor().execute(new Runnable() {
db.getQueryExecutor().execute(new Runnable() {
@Override
public void run() {
try {

@ -280,7 +280,7 @@ public class Helper {
}
}
private static ExecutorService getBackgroundExecutor(int threads, final String name) {
static ExecutorService getBackgroundExecutor(int threads, final String name) {
ThreadFactory factory = new ThreadFactory() {
private final AtomicInteger threadId = new AtomicInteger();

@ -200,7 +200,7 @@ public class ViewModelMessages extends ViewModel {
break;
}
builder.setFetchExecutor(Helper.getParallelExecutor());
builder.setFetchExecutor(db.getQueryExecutor());
model = new Model(args, builder.build(), boundary);
models.put(viewType, model);

Loading…
Cancel
Save