Przejdź do treści głównej

Używanie Hermesa

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

Hermes to otwartoźródłowy silnik JavaScript zoptymalizowany dla React Native. W przypadku wielu aplikacji użycie Hermesa przyniesie krótszy czas uruchamiania, mniejsze zużycie pamięci i zmniejszony rozmiar aplikacji w porównaniu z JavaScriptCore. Hermes jest domyślnie używany w React Native i nie wymaga dodatkowej konfiguracji do włączenia.

Hermes dołączony w pakiecie

React Native zawiera wersję dołączoną w pakiecie Hermesa. Przy każdej nowej wersji React Native budujemy dla Ciebie odpowiednią wersję Hermesa. Daje to pewność, że używasz wersji Hermesa w pełni kompatybilnej z użytą wersją React Native.

Ta zmiana jest całkowicie przezroczysta dla użytkowników React Native. Nadal możesz wyłączyć Hermesa za pomocą polecenia opisanego na tej stronie. Więcej o implementacji technicznej przeczytasz na tej stronie.

Sprawdzanie użycia Hermesa

Jeśli niedawno utworzyłeś nową aplikację od podstaw, możesz sprawdzić, czy Hermes jest włączony w widoku powitalnym:

Where to find JS engine status in the new project?

W JavaScript będzie dostępna globalna zmienna HermesInternal, której możesz użyć do weryfikacji, czy Hermes jest używany:

jsx
const isHermes = () => !!global.HermesInternal;
ostrzeżenie

Jeśli używasz niestandardowego sposobu ładowania pakietu JS, możliwe że zmienna HermesInternal będzie dostępna, ale nie będziesz używać wysoce zoptymalizowanego, wstępnie skompilowanego bajtkodu. Upewnij się, że używasz pliku .hbc oraz przeprowadź testy porównawcze przed i po zmianie zgodnie z instrukcjami poniżej.

Aby zobaczyć korzyści z Hermesa, wykonaj produkcyjny build/wdrożenie swojej aplikacji do porównania. Na przykład z głównego katalogu projektu:

shell
npm run android -- --mode="release"

Spowoduje to kompilację JavaScript do bajtkodu Hermesa podczas budowania, co przyspieszy uruchamianie aplikacji na urządzeniu.

Powrót do JavaScriptCore

React Native obsługuje również używanie JavaScriptCore jako silnika JavaScript. Postępuj zgodnie z instrukcjami z repozytorium społeczności, aby zrezygnować z Hermesa.