diff options
author | Kweku Adams <kwekua@google.com> | 2020-06-23 10:36:12 -0700 |
---|---|---|
committer | Kweku Adams <kwekua@google.com> | 2020-06-23 10:49:36 -0700 |
commit | f29545d1142573b33fe8285098a15db3ad0d9da9 (patch) | |
tree | 246d35fa8333cb9fccbcdb2e11f252db9f37c1b0 /apex/jobscheduler | |
parent | dffcd5fe7a79ed9db1fc0879bea2faa458c26adf (diff) |
Postpone headless app caching to after boot.
Moving the headless app cache loading to the background thread still
affects boot time. Moving the loading to after boot has completed means
that it will no longer impact boot time.
Bug: 159057406
Bug: 159434503
Test: atest CtsUsageStatsTestCases:UsageStatsTest
Test: atest FrameworksServicesTests:AppIdleHistoryTests
Test: atest FrameworksServicesTests:AppStandbyControllerTests
Test: Confirm SystemServerTiming_OnBootPhase_500_com.android.server.BinderCallsStatsService$LifeCycle timing decreases
Change-Id: Ib79939ed15f9886d4fea02f7eda172b8cc82b674
Diffstat (limited to 'apex/jobscheduler')
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java index 687b1d4e0bde..f36084386f48 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java @@ -463,9 +463,6 @@ public class AppStandbyController implements AppStandbyInternal { userFileExists = mAppIdleHistory.userFileExists(UserHandle.USER_SYSTEM); } - // Offload to handler thread to avoid boottime impact. - mHandler.post(this::loadHeadlessSystemAppCache); - if (mPendingInitializeDefaults || !userFileExists) { initializeDefaultsForSystemApps(UserHandle.USER_SYSTEM); } @@ -475,6 +472,10 @@ public class AppStandbyController implements AppStandbyInternal { } } else if (phase == PHASE_BOOT_COMPLETED) { setChargingState(mInjector.isCharging()); + + // Offload to handler thread after boot completed to avoid boot time impact. This means + // that headless system apps may be put in a lower bucket until boot has completed. + mHandler.post(this::loadHeadlessSystemAppCache); } } |