Immediately destroy C++ state when deleteView is processed
Summary:
Followup to D26858584 (00959ffd6b
). We should also immediately destroy C++ state memory (which will decrement a shared_ptr) when deleting a view.
This could improve memory while a surface is being used.
Changelog: [Internal]
Reviewed By: fkgozali
Differential Revision: D26876537
fbshipit-source-id: fc8353bed47db8fdbf5c7f6c6253ac788c460d9a
This commit is contained in:
Родитель
077e434d77
Коммит
b84ae3875c
|
@ -778,6 +778,12 @@ public class SurfaceMountingManager {
|
|||
// or StopSurface being called, so we do not handle deleting descendents of the View.
|
||||
mTagToViewState.remove(reactTag);
|
||||
|
||||
// Destroy state immediately instead of waiting for Java GC.
|
||||
if (viewState.mStateWrapper != null) {
|
||||
viewState.mStateWrapper.destroyState();
|
||||
viewState.mStateWrapper = null;
|
||||
}
|
||||
|
||||
// For non-root views we notify viewmanager with {@link ViewManager#onDropInstance}
|
||||
ViewManager viewManager = viewState.mViewManager;
|
||||
if (!viewState.mIsRoot && viewManager != null) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче