O react-native suporta multithreading e background threading ou execução paralela? Como podemos fazer isso?


13

Passei pela documentação oficial do react-native e de algumas outras fontes e blogs médios, e vim a saber que existem Threads da UI e JavaScript Thread no react-native. O segmento Javascript é o segmento no qual a lógica será executada, o código javascript é executado, as chamadas de API são feitas, os eventos de toque são processados ​​e muitos outros. E o UI Thread atualiza a interface do usuário. Se o encadeamento JavaScript estiver trabalhando no processo e se executarmos novamente a ação do botão ou qualquer outro evento de toque, leva algum tempo para responder, depois de concluir um processo apenas as atualizações da interface do usuário até que eu pareça estar atrasado ou preso em algum lugar.

Por exemplo

Há um navegador da guia inferior, que possui quatro guias. Há uma exibição de lista na primeira guia e visualização de mapa, que mostra a rota entre vários pontos na segunda guia.

Realizei alguma ação de botão (cliquei como o botão na exibição em lista) na primeira guia e navegue imediatamente para a segunda guia. Parece haver algum atraso na atualização da interface do usuário ou leva algum tempo (1-3 segundos) para navegar a partir da primeira guia. guia para a segunda guia

Na segunda guia, o mapa leva tempo (5 a 10 segundos) para buscar a rota entre vários pontos quando esse processo está ocorrendo. Se eu navegar para qualquer outra guia, a navegação entre as guias não é tranquila e existe um grande atraso na interface do usuário.

Como podemos fazer com que o aplicativo react-native responda mais rapidamente a ações tocáveis ​​e reduza o atraso da interface do usuário

Existe algum conceito de multithreading e background threading que possamos executar lógicas específicas no thread principal e atualizar a interface do usuário para fazer com que um aplicativo nativo a reagir responda mais rapidamente sem atrasos.

Respostas:


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.