反应导航-当我在屏幕之间导航时,内存增加

时间:2020-01-23 13:07:48

标签: react-native react-navigation react-native-flatlist

我将React-Navigation v4(堆栈导航器)与react-native-screens v2.0.0-alpha.6一起使用,当我在屏幕之间导航时,我注意到内存增加了。

例如,如果我用“项目”填充列表并导航到“项目页面”,则内存总计为5mb。即使我返回,内存也不会释放。这就像在堆栈中添加相同的页面一样,即使我以前也曾访问过。这是一个错误吗?我可以从堆栈中删除相同的屏幕名称吗?

此处的内存结果-> Memory Results

2 个答案:

答案 0 :(得分:0)

navigation.navigate()对于第一次渲染的屏幕,它将整个屏幕添加到其堆栈中,因此它的内存增加了,但是当您再次导航到同一页面时,它不会占用太多内存,因为它不会再次按下屏幕上的导航堆栈。您可以通过

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

那就是与众不同之处,请随时提出疑问

答案 1 :(得分:0)

使用navigation.goBack('ScreenName')代替navigation.navigate('ScreenName')并检查下面的链接 https://reactnavigation.org/docs/en/navigating.html