Ciao Attualmente sto costruendo un app che ha le seguenti proprietà:Come gestite i thread separati durante il recupero dei dati in iOS?
- utilizza Core Data per la memorizzazione
- ha un feed che visualizza un elemento alla volta
- se fuori oggetti, applicazione chiamerà Recupero dal server in modo asincrono
La gestione delle ricerche asincrone si è dimostrata piuttosto complicata.
Attualmente, stiamo memorizzando gli elementi recuperati dal server direttamente in Core Data.
Ogni volta che l'app ha bisogno di un nuovo articolo, stiamo interrogando i dati di base per un oggetto invisibile.
Stiamo vedendo alcuni impatti significativi riguardo alle prestazioni dell'app a causa di questa costante interrogazione di Core Data.
Abbiamo pensato di utilizzare una matrice in memoria e di mantenere un indice ma l'aspetto asincrono del recupero una volta che siamo fuori dall'elemento si dimostra troppo complesso in quanto dobbiamo utilizzare i blocchi e altre misure di concorrenza per mantenere il thread dell'array sicuro.
Avete qualche suggerimento su come posso ridurre le chiamate totali ai dati principali?
Hai profilato la tua app e confermato che i recuperi sono lenti? –
Che tipo di concorrenza stai usando? – mattyohe
Quali sono i sintomi dei problemi di prestazioni? CoreData ha il proprio sistema di caching nel suo MOC. – Jeremy