堆栈导航器随着使用速度变慢 - React-native Android

时间:2018-02-15 11:47:38

标签: android reactjs react-native

我已经设置了React-Native Android应用。它有几个屏幕,一个登录页面和一些其他页面,但我面临一个问题,即应用程序使用速度变慢。在多个屏幕之间多次导航后,组件无法渲染,图标消失,屏幕转换速度变慢。如果广泛使用,我的意思是如果我继续导航和导航,应用程序最终会变得无法使用。我该如何解决这个问题?

请注意 - 我没有使用Redux或任何路由器,只是stacknavigator。我认为这是调试版本的一个问题,但我生成了一个签名的APK,问题也存在。

如何重置堆栈导航器并从中删除所有先前的状态以清除内存?

1 个答案:

答案 0 :(得分:0)

我经历了应用程序的整体流程,发现在某些地方堆栈没有清除,它继续建立。例如,当提示用户注销时,堆栈未被清除,而是向堆栈添加了更多页面。当用户多次登录和注销时,堆栈变得更大。

另外,我在某个地方读到了android在单线程上运行的本机反应,而在iOS中运行多线程。

与本机代码不同,在做出反应时,您必须非常重视内存管理。删除将要卸载的页面中的事件侦听器。

这是我用来在几个地方重置堆栈的代码。

import { NavigationActions } from 'react-navigation'

this.props.navigation.dispatch(NavigationActions.reset({
    index: 0,
    key: null,
    actions: [NavigationActions.navigate({ routeName: 'ParentStackScreen' })]
}))