Как уменьшить время запуска в приложениях React Native для Android

В настоящее время я пытаюсь понять, как уменьшить время запуска Android. Это не проблема с iOS, но для Android я вижу где угодно от 6-10 секунд. Цель - около 3-4 секунд.

Здесь резюме исследований, которые я встречал

  • createReactContext: где инициализируется ответный мост и начинает загрузку всех собственных модулей
  • getMethodDescriptors: используя отражение, он компилирует (время выполнения) список всех открытых методов с использованием ReactMethod

Решения существуют, но не идеальны:

  1. LazyReactPackage (экспериментальный) https://github.com/facebook/react-native/commit/797ca6c219b2a44f88f10c61d91e8cc21e2f306e
  2. Удаление отражения для всех экспонированных ReactMethods https://github.com/facebook/react-native/pull/10084

Моя проблема с этими решениями заключается в использовании обработки аннотаций для генерации классов (время компиляции). Я пытаюсь понять, как заставить эти решения работать без везения.

Кроме того, будут полезны другие предложения по сокращению времени запуска для Android.

Спасибо!

Ответы

Ответ 1

Для этого Facebook выпустил новый механизм сборки Hermes, который увеличит скорость вашего запуска. Но вам нужен react native 0.60>, чтобы использовать этот движок.https://facebook.github.io/react-native/blog/2019/07/17/hermes

Ответ 2

Используйте expo optimize в каталоге вашего проекта. Вы также должны убедиться, что вы не добавили никаких дополнительных пакетов, так как пакеты js будут загружены при первом запуске.