Реагируй на навигацию - память увеличивается при навигации между экранами - PullRequest
0 голосов
/ 23 января 2020

Я использую React-Navigation v4 (Stack Navigator) с реагировать на родные экраны v2.0.0-alpha.6, и я заметил увеличение памяти при навигации между экранами.

Например, если я заполню список пунктами и перейду к странице элементов, память увеличится на 5 Мб. Даже если я go вернусь, память не освободится. Это все равно, что добавить в стек одну и ту же страницу, даже если бы я посещал ее раньше. Это ошибка? Можно ли удалить те же имена экранов из стека?

Результаты памяти здесь -> Результаты памяти

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Используйте navigation.goBack('ScreenName') вместо navigation.navigate('ScreenName') и проверьте нижнюю ссылку https://reactnavigation.org/docs/en/navigating.html

0 голосов
/ 23 января 2020

navigation.navigate() для экрана, отображаемого в первый раз, он добавляет весь экран в свой стек, поэтому его память увеличивается, но когда вы снова переходите на ту же страницу, он не будет занимать так много памяти, поскольку снова не будет pu sh экран к стеку навигации. Вы можете очистить Stacknavigator по

NavigationActions.reset(
                 {
                    index: 0,
                    actions: [
                      NavigationActions.navigate({ routeName: 'Menu'})
                    ]
                  }). 

Так вот в чем разница, не стесняйтесь сомнений

...