React Native-改善冷启动时间



我正在工作的项目是使用React Native创建iOS应用。

以下是iPhone 5S版本中的冷启动时间

Pre-main time: 0.52 seconds
App did launch to javascript did load time: 2.12 seconds
JS render time: 0.74 seconds
Total time: 3.34 seconds

最慢的部分是等待React库加载JS捆绑包(2.2MB)。加载时间看起来正常吗?如何改善JS捆绑装加载时间?非常感谢。

减少JS捆绑包的大小可以改善应用程序从应用程序启动到JavaScript的时间确实加载。对于一个新的Hello World项目,它仅花费了0.18-0.19秒(iPhone 5s)。

是的,您描述的问题确实存在。作为可能的解决方案,您可以使用ram-bundle格式,metro Bundler提供。

在这种情况下,您不会加载整个JS捆绑包 - 您只会加载零件,您需要在启动时需要(在很多应用程序中,很多地方都可能看不到,并且此功能只有在需要时,允许您加载这些零件)。因此,您可以简化入口点并仅加载捆绑包的一小部分。

您可以查看反应式 - 单块分机。该库与几乎所有流行的导航库完全集成在一起,并允许您推迟特定路由的负载。例如,如果您有登录屏幕,则只有在用户可以看到它们时,就可以在启动此屏幕上加载,而所有其他屏幕都可以在后台加载或启动加载它们。复杂应用程序的启动时间几乎与" Hello World"应用程序一样。

是否正好取决于您和您的应用程序用户=)

显然,如果减少JS捆绑包的大小可以提高时间,则应尽力完成它。我猜有几个步骤可以帮助您:

  • 首先,干燥:加倍代码确实会增加尺寸
  • 检查使用NPM软件包,删除未使用(也是未使用的内部模块)
  • 使用第三方工具缩小并缩小捆绑包

也应进行降低初始化复杂性

  • 检查算法的渐近复杂性 - 可能导致时间增加
  • 删除未使用的变量,函数和数据 - 这可能是冗余内存使用的原因

,我可以建议您不仅尝试影响实际的时间,而且会影响时间的感觉。例如,使用动画飞溅屏幕

相关内容

  • 没有找到相关文章