Make detachViewFromParent more robust
Calling detachViewFromParent() without calling remove or attach in the same drawing frame could, in some situations, cause a crash in the native DisplayList code. detach/attach are intended to be very lightweight and do not manage the native DisplayList content the same way that add/remove do. Nor do they cause an invalidate() or requestLayout(), which would cause the native structures to get recreated appropriately. This fix makes this process more robust in two ways: - DisplayLists should not get finalized (therefore destroying their native structures) when there are still parent DisplayLists referring to them (each DisplayList keeps references to its child DisplayLists). This will prevent the native crash associated with unmatched detach*() calls. - The docs for detach/attach have been enhanced to make it easier for developers to understand how to use these methods more correctly and successfully. Issue #7064818 detachViewFromParent() should be more robust Change-Id: I53befc04d5d58c225060f397725566d470488c9b
Loading
Please register or sign in to comment