diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 3aea8a97..a9744f66 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -109,6 +109,8 @@ import androidx.lifecycle.LifecycleService; import androidx.lifecycle.Observer; import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import static android.os.Process.THREAD_PRIORITY_BACKGROUND; + public class ServiceSynchronize extends LifecycleService { private final Object lock = new Object(); private ServiceManager serviceManager = new ServiceManager(); @@ -1451,6 +1453,7 @@ public class ServiceSynchronize extends LifecycleService { } } }, "sync.main"); + main.setPriority(THREAD_PRIORITY_BACKGROUND); // will be inherited main.start(); } diff --git a/app/src/main/java/eu/faircode/email/SimpleTask.java b/app/src/main/java/eu/faircode/email/SimpleTask.java index 581f45ab..2396849a 100644 --- a/app/src/main/java/eu/faircode/email/SimpleTask.java +++ b/app/src/main/java/eu/faircode/email/SimpleTask.java @@ -33,6 +33,8 @@ import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleService; import androidx.lifecycle.OnLifecycleEvent; +import static android.os.Process.THREAD_PRIORITY_BACKGROUND; + // // This simple task is simple to use, but it is also simple to cause bugs that can easily lead to crashes // Make sure to not access any member in any outer scope from onLoad @@ -50,6 +52,7 @@ public abstract class SimpleTask implements LifecycleObserver { static { handlerThread = new HandlerThread("SimpleTask"); + handlerThread.setPriority(THREAD_PRIORITY_BACKGROUND); handlerThread.start(); handler = new Handler(handlerThread.getLooper()); }