Skip to content

Commit 631fa0f

Browse files
authored
Merge pull request #1775 from OneSignal/fix/anrs_on_backgrounding_app
Prevent ANRs when backgrounding app
2 parents 0a313f2 + 56dd55b commit 631fa0f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/ActivityLifecycleHandler.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,14 @@ private void handleLostFocus() {
179179
if (focusHandler == null || focusHandler.hasBackgrounded() && !focusHandler.hasCompleted())
180180
return;
181181

182-
OneSignal.getFocusTimeController().appStopped();
183-
focusHandler.startOnLostFocusWorker(FOCUS_LOST_WORKER_TAG, SYNC_AFTER_BG_DELAY_MS, OneSignal.appContext);
182+
new Thread() {
183+
public void run() {
184+
// Run on it's own thread since both these calls do disk I/O
185+
// which could contribute a significant amount to ANRs.
186+
OneSignal.getFocusTimeController().appStopped();
187+
focusHandler.startOnLostFocusWorker(FOCUS_LOST_WORKER_TAG, SYNC_AFTER_BG_DELAY_MS, OneSignal.appContext);
188+
}
189+
}.start();
184190
}
185191

186192
private void handleFocus() {

0 commit comments

Comments
 (0)