React-Navigation 性能:多少个屏幕太多了?
React-Navigation performance: How many screens are too many?
我是 React Native 和 React-Navigation 的新手。我正在计划的应用程序内容非常丰富。它将有数百个独特的屏幕。我想通过 React-Navigation 连接它们,这样我的堆栈就会非常大。该性能是否有问题或我应该记住什么?我的猜测是只有在用户第一次访问时才会加载屏幕,所以应用程序的初始加载时间应该不会受到影响?
谢谢!
实际上,您创建多少 js 文件并不重要,但重要的是您何时创建:
- 不重用您的代码。例如,您创建了一个使用 Card 的 3 Screens,因此它没有单独创建一个 card 组件 js 文件,那么复杂性会增加,但是如果您为 Card 创建一个 JS 文件并在 3 个屏幕中重复使用它,它会对此进行优化。因此,如果您认为此组件可重复使用,则为其创建单独的文件。
- 维度使用过多。我知道在使用维度时,屏幕设计是响应式的,但在抽象级别上,它每次都会为每个屏幕计算高度和宽度,因此它不是一种优化方式。因此,请尝试使用 flex 并尝试减少 Dimension 的使用。但是如果你明智地使用 Dimension,它是一个非常强大的工具。
3)当你想使用 FlatList , Map 等显示图像时,请尝试使用 FastImage 而不是图像。简而言之,如果单个屏幕中的图像渲染超过两次。
- 您可以在此处获取更多信息:Optimization in React-Native
注意:最后我想说的是,你可以创建尽可能多的JS文件,但它必须是可重用的,不是不必要的,也没有重复的代码。
您也可以将此视为性能改进。
你有一个屏幕。当您在其上按下或导航新屏幕时。您可以停止背景屏幕中的动画。因为后面的屏幕继续工作。所以你可以停止动画背景屏幕。
例如,您在主屏幕中有一个滑块组件,并且。此滑块自动播放功能处于活动状态。当您更改主屏幕时,您可以停止自动播放功能。
我是 React Native 和 React-Navigation 的新手。我正在计划的应用程序内容非常丰富。它将有数百个独特的屏幕。我想通过 React-Navigation 连接它们,这样我的堆栈就会非常大。该性能是否有问题或我应该记住什么?我的猜测是只有在用户第一次访问时才会加载屏幕,所以应用程序的初始加载时间应该不会受到影响?
谢谢!
实际上,您创建多少 js 文件并不重要,但重要的是您何时创建:
- 不重用您的代码。例如,您创建了一个使用 Card 的 3 Screens,因此它没有单独创建一个 card 组件 js 文件,那么复杂性会增加,但是如果您为 Card 创建一个 JS 文件并在 3 个屏幕中重复使用它,它会对此进行优化。因此,如果您认为此组件可重复使用,则为其创建单独的文件。
- 维度使用过多。我知道在使用维度时,屏幕设计是响应式的,但在抽象级别上,它每次都会为每个屏幕计算高度和宽度,因此它不是一种优化方式。因此,请尝试使用 flex 并尝试减少 Dimension 的使用。但是如果你明智地使用 Dimension,它是一个非常强大的工具。
3)当你想使用 FlatList , Map 等显示图像时,请尝试使用 FastImage 而不是图像。简而言之,如果单个屏幕中的图像渲染超过两次。
- 您可以在此处获取更多信息:Optimization in React-Native
注意:最后我想说的是,你可以创建尽可能多的JS文件,但它必须是可重用的,不是不必要的,也没有重复的代码。
您也可以将此视为性能改进。
你有一个屏幕。当您在其上按下或导航新屏幕时。您可以停止背景屏幕中的动画。因为后面的屏幕继续工作。所以你可以停止动画背景屏幕。
例如,您在主屏幕中有一个滑块组件,并且。此滑块自动播放功能处于活动状态。当您更改主屏幕时,您可以停止自动播放功能。