React-native supporta il multithreading e il threading in background o l'esecuzione parallela? Come possiamo farlo?


13

Ho esaminato la documentazione ufficiale di Reattivo e alcune altre fonti e blog medi, sono venuto a sapere che esiste un thread UI e un thread JavaScript in Reattivo. Il thread Javascript è il thread in cui verrà eseguita la logica. Il codice JavaScript viene eseguito, le chiamate API vengono eseguite, gli eventi touch vengono elaborati e molti altri. E UI Thread aggiorna l'interfaccia utente. Se il thread JavaScript funziona sul processo e se eseguiamo nuovamente l'azione del pulsante o qualsiasi altro evento touch, ci vuole del tempo per rispondere, dopo aver completato un processo solo gli aggiornamenti dell'interfaccia utente fino a quando non mi sento in ritardo o bloccato da qualche parte.

Per esempio

C'è un navigatore per schede in basso che ha quattro schede, C'è una visualizzazione elenco nella prima scheda e vista mappa che mostra il percorso tra più punti nella seconda scheda

Avevo eseguito alcune azioni del pulsante (fatto clic sul pulsante Mi piace nella vista elenco) nella prima scheda e navigando immediatamente alla seconda scheda, si sente un certo ritardo nell'aggiornamento dell'interfaccia utente o ci vuole del tempo (1-3 secondi) per navigare dalla prima scheda alla seconda scheda

Nella seconda scheda la mappa impiega tempo (5-10 secondi) per recuperare il percorso tra più punti quando questo processo è in corso se navigo verso un'altra scheda la navigazione tra le schede non è regolare e è presente un sacco di ritardo dell'interfaccia utente.

Come possiamo fare in modo che l'app reattiva nativa risponda più rapidamente alle azioni tangibili e riduca il ritardo dell'interfaccia utente

Esiste un concetto di multithreading e threading in background che è possibile eseguire logiche particolari nel thread principale e aggiornare l'interfaccia utente per fare in modo che un'applicazione reattiva reagisca più rapidamente senza ritardi.

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.