Clean the slice in onUnpinned rather than onBinded.
Change-Id: Idda7cbedb0ce7b0ec83fc2f11a2505634d2b465c Bug: 249101421
This commit is contained in:
@@ -187,6 +187,7 @@ public class SettingsSliceProvider extends SliceProvider {
|
||||
|
||||
@Override
|
||||
public void onSliceUnpinned(Uri sliceUri) {
|
||||
mSliceWeakDataCache.remove(sliceUri);
|
||||
final Context context = getContext();
|
||||
if (!VolumeSliceHelper.unregisterUri(context, sliceUri)) {
|
||||
SliceBroadcastRelay.unregisterReceivers(context, sliceUri);
|
||||
@@ -258,11 +259,6 @@ public class SettingsSliceProvider extends SliceProvider {
|
||||
loadSliceInBackground(sliceUri);
|
||||
return getSliceStub(sliceUri);
|
||||
}
|
||||
|
||||
// Remove the SliceData from the cache after it has been used to prevent a memory-leak.
|
||||
if (!getPinnedSlices().contains(sliceUri)) {
|
||||
mSliceWeakDataCache.remove(sliceUri);
|
||||
}
|
||||
return SliceBuilderUtils.buildSlice(getContext(), cachedSliceData);
|
||||
} finally {
|
||||
StrictMode.setThreadPolicy(oldPolicy);
|
||||
|
Reference in New Issue
Block a user