diff options
| author | 2019-08-27 16:20:08 +0000 | |
|---|---|---|
| committer | 2019-08-27 16:20:08 +0000 | |
| commit | a9cebdb5004b737f10f9a8e87bdd8c8ea8f81a09 (patch) | |
| tree | bca9d3bf077ba8cc78e2fde1d9ed79ff5a67cb92 | |
| parent | 79a1f8e7028c94b16d9de07b7898d933da4a156c (diff) | |
| parent | 8d3253599b4be53f7d9825ab4050f8ffe8d79c88 (diff) | |
Merge "ApexManager: Post populateAllPackagesCacheIfNeeded to a background thread"
| -rw-r--r-- | services/core/java/com/android/server/pm/ApexManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java index 1da5bc6c26ee..dc00cb45596c 100644 --- a/services/core/java/com/android/server/pm/ApexManager.java +++ b/services/core/java/com/android/server/pm/ApexManager.java @@ -261,11 +261,12 @@ abstract class ApexManager { mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - populateAllPackagesCacheIfNeeded(); + // Post populateAllPackagesCacheIfNeeded to a background thread, since it's + // expensive to run it in broadcast handler thread. + BackgroundThread.getHandler().post(() -> populateAllPackagesCacheIfNeeded()); mContext.unregisterReceiver(this); } - }, new IntentFilter(Intent.ACTION_BOOT_COMPLETED), /* broadcastPermission */ null, - BackgroundThread.getHandler()); + }, new IntentFilter(Intent.ACTION_BOOT_COMPLETED)); } private void populateAllPackagesCacheIfNeeded() { |