DeferredStartupHandler takes too long in one go and will cause jank. We also want it to run earlier, see issue 607289 for more context.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e34f32917ffc2f325b89fa9c7f56a05cb33f5195 commit e34f32917ffc2f325b89fa9c7f56a05cb33f5195 Author: wnwen <wnwen@chromium.org> Date: Mon Jun 06 14:57:46 2016 Add time measurement for deferred handler. BUG= 614452 Review-Url: https://codereview.chromium.org/2034833002 Cr-Commit-Position: refs/heads/master@{#398024} [modify] https://crrev.com/e34f32917ffc2f325b89fa9c7f56a05cb33f5195/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java [modify] https://crrev.com/e34f32917ffc2f325b89fa9c7f56a05cb33f5195/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/67d88a4a54b1985d10fb3865121c0e6a08ec78ec commit 67d88a4a54b1985d10fb3865121c0e6a08ec78ec Author: wnwen <wnwen@chromium.org> Date: Mon Jun 13 13:52:01 2016 Split up deferred startup tasks. Tasks that depend on the app can take longer in a runnable queue, but the ones that rely on the activity being active need more care. Clarifying which ones actually depend on the activity vs app also gives us more accurate accounting. BUG= 614452 Review-Url: https://codereview.chromium.org/2044403002 Cr-Commit-Position: refs/heads/master@{#399443} [modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java [modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b17794608da80ccba64795658fac6239bdae6510 commit b17794608da80ccba64795658fac6239bdae6510 Author: wnwen <wnwen@chromium.org> Date: Tue Aug 02 18:26:02 2016 Separate deferred startup into tasks. Correct UMA timing to be based on foreground start rather than application initialization, as the application is often initialized in the background, causing misleading stats. By separating one single task into multiple tasks queued by the idle handler, we don't block UI thread for a long time. We used to do ~100ms of blocking work for deferred startup, now it is reduced to around ~20ms for the longest task. Tested on an N6, so on slower devices this takes much longer. BUG= 614452 Review-Url: https://codereview.chromium.org/2121863002 Cr-Commit-Position: refs/heads/master@{#409251} [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java [modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2 commit 6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2 Author: tedchoc <tedchoc@chromium.org> Date: Wed Aug 03 00:10:42 2016 Revert "Separate deferred startup into tasks." This reverts commit b17794608da80ccba64795658fac6239bdae6510. Suspect for CustomTab test breakage: https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/35551/steps/chrome_public_test_apk/logs/stdio TBR=wnwen@chromium.org,asvitkine@chromium.org NOTRY=true BUG= 614452 Review-Url: https://codereview.chromium.org/2203223002 Cr-Commit-Position: refs/heads/master@{#409390} [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java [modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bcdc694e5fb4cf003124cf5b940e4807322a184e commit bcdc694e5fb4cf003124cf5b940e4807322a184e Author: wnwen <wnwen@chromium.org> Date: Mon Aug 08 13:52:03 2016 Reland of Separate deferred startup into tasks. Original: https://codereview.chromium.org/2121863002/ Fixes: - Guarantee ChromeApplication#onStartWithNative has been called by custom tabs before posting deferred startup. BUG= 614452 TBR=dtrainor@chromium.org,agrieve@chromium.org,asvitkine@chromium.org,pasko@chromium.org Review-Url: https://codereview.chromium.org/2207933002 Cr-Commit-Position: refs/heads/master@{#410342} [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java [modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/c7cc688fd41195e53beb37fad567cb2587a1f4b5 commit c7cc688fd41195e53beb37fad567cb2587a1f4b5 Author: Peter Wen <wnwen@google.com> Date: Tue Jul 05 21:13:52 2016
Just curious what the status of this is. Is there still more planned work to do?
Sorry for the delay, I think this is done as is.
Comment 1 by bugdroid1@chromium.org
, Jun 6 2016