From cc64ca66065e9b660e8a3e3ac2b12dcb3631dd75 Mon Sep 17 00:00:00 2001 From: Xuanang Zhao Date: Wed, 12 Oct 2022 13:28:51 +0800 Subject: [PATCH] Prevent the load of the slice again if it is already in the cache. loadSlice just fills Slice read from the DB into a map, if there is already such slice in the map, we could skip the async load process. Change-Id: I6e96ef72a9dc5a833ae158492134f4a6c94a7465 Bug: 249101421 Test: robotest --- src/com/android/settings/slices/SettingsSliceProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java index 90719705eba..2672906d25e 100644 --- a/src/com/android/settings/slices/SettingsSliceProvider.java +++ b/src/com/android/settings/slices/SettingsSliceProvider.java @@ -385,6 +385,10 @@ public class SettingsSliceProvider extends SliceProvider { @VisibleForTesting void loadSlice(Uri uri) { + if (mSliceWeakDataCache.containsKey(uri)) { + Log.d(TAG, uri + " loaded from cache"); + return; + } long startBuildTime = System.currentTimeMillis(); final SliceData sliceData;