diff options
| author | Bryce Lee <brycelee@google.com> | 2022-03-03 14:15:37 -0800 |
|---|---|---|
| committer | Bryce Lee <brycelee@google.com> | 2022-03-08 09:36:01 -0800 |
| commit | abfdc8fc382f392854a55cfdbc2b3716e307122b (patch) | |
| tree | ad566053ac885ed77234ab6006a8ee0bb232b203 /core/java/android | |
| parent | 459d5bd503c11478637a0f61f7c952eda1127e74 (diff) | |
Clear reference to DreamActivity window.
This changelist clears the reference to the DreamActivity window once
the activity is cleared in DreamService. Holding onto the reference
will lead to a DreamActivity instance leak.
Test: verified leak no longer present through hprof
Bug: 221285764
Change-Id: I1494bcdeaa1b23c0006867ff8eb1806bd5206eba
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/service/dreams/DreamService.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index db622d39b785..1fd75e610097 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -1341,7 +1341,9 @@ public class DreamService extends Service implements Window.Callback { public void onViewDetachedFromWindow(View v) { if (mActivity == null || !mActivity.isChangingConfigurations()) { // Only stop the dream if the view is not detached by relaunching - // activity for configuration changes. + // activity for configuration changes. It is important to also clear + // the window reference in order to fully release the DreamActivity. + mWindow = null; mActivity = null; finish(); } |
