Retry create worker thread

pull/210/head
M66B 2 years ago
parent b64966a9f7
commit a13772d856

@ -297,10 +297,23 @@ public class Helper {
@Override
public Thread newThread(@NonNull Runnable runnable) {
Thread thread = new Thread(runnable);
thread.setName("FairEmail_bg_" + name + "_" + threadId.getAndIncrement());
thread.setPriority(THREAD_PRIORITY_BACKGROUND);
return thread;
int delay = 1;
while (true)
try {
Thread thread = new Thread(runnable);
thread.setName("FairEmail_bg_" + name + "_" + threadId.getAndIncrement());
thread.setPriority(THREAD_PRIORITY_BACKGROUND);
return thread;
} catch (OutOfMemoryError ex) {
Log.w(ex);
try {
Thread.sleep(delay * 1000L);
} catch (InterruptedException ignored) {
}
delay *= 2;
if (delay > 7)
throw ex;
}
}
};

Loading…
Cancel
Save