Unlink death recipient which references to DisplayContent
Though the remote side (SystemUI) will unregister the recipient when receiving display removed, it may be too late that the DisplayContent is removed from RootWindowContainer, then WMS# setDisplayWindowInsetsController becomes no-op and causes the instance of DisplayContent to be leaked. Also release windowing layer manually in case it is an additional layer which isn't managed by WindowContainer (e.g. if the display does not have FEATURE_WINDOWED_MAGNIFICATION). So it won't rely on GC to release. Bug: 240704591 Test: Create/destroy virtual display many times. GC: adb shell 'kill -10 `pidof system_server`' No surface of virtual display exists in: adb shell dumpsys SurfaceFlinger grep -A 100 'Offscreen' Change-Id: Iac84992b8eb13c4348dfca87924fb0c2fa94a5b8
Loading
Please register or sign in to comment