Fattori di prestazione
Scopri i fattori chiave che influenzano le prestazioni complessive dell'app
Panoramica
Le applicazioni che supportano la funzionalità offline, come Yonder , devono sincronizzare i dati tra un server remoto e il dispositivo locale, mantenendo al contempo prestazioni reattive, stabili ed efficienti sul dispositivo stesso.
In questo contesto, le prestazioni non si riferiscono solo alla velocità di sincronizzazione, ma anche al comportamento dell'app quando interagisce con grandi set di dati, gestisce l'archiviazione ed esegue attività in locale sull'iPad.
Fattori chiave
Di seguito sono elencati i fattori chiave che influiscono sulle prestazioni generali dell'app e sulle prestazioni di sincronizzazione.
Stato hardware (generazione) e versione iOS
Le caratteristiche specifiche del dispositivo, come CPU, memoria e versione del sistema operativo, influiscono non solo sulla velocità di sincronizzazione, ma anche sulla reattività dell'app durante l'utilizzo offline.
Influenze chiave
- Capacità di CPU e RAM: nei dispositivi più vecchi, con set di dati di grandi dimensioni, potrebbero verificarsi rallentamenti nel rendering dello schermo, blocchi delle app o ritardi nella sincronizzazione.
- Spazio libero su disco: la memorizzazione nella cache locale e le operazioni del database potrebbero non funzionare o rallentare quando lo spazio di archiviazione è insufficiente.
- Versione iOS: le versioni più recenti potrebbero offrire API migliori per le attività in background, la gestione dei file o la gestione delle risorse di sistema.
Risorse di sistema disponibili
Se il dispositivo esegue più app o ha processi in background che consumano CPU e memoria, le risorse disponibili per l'app potrebbero essere limitate.
Influenze chiave
- Eseguire più app pesanti in parallelo: può ridurre la memoria disponibile per l'app.
- Download in background o riproduzione multimediale: aumentano il carico della CPU e della rete.
- Scarsa capacità di archiviazione: influisce sulle scritture del database e sull'efficienza della memorizzazione nella cache.
Stato di aggiornamento dell'app e priorità in background
iOS gestisce dinamicamente i privilegi di esecuzione in background. Se un'app non è stata utilizzata di recente, è in attesa di un aggiornamento o ha risorse incomplete, la sua sincronizzazione e l'attività in background potrebbero essere declassate o ritardate.
Influenze chiave
- App non avviata di recente: iOS potrebbe sospendere o impedire l'esecuzione in background.
- Aggiornamenti delle app in sospeso o parziali: potrebbero limitare le risorse di sistema o l'aggiornamento in background.
- Pressione sulla memoria del sistema operativo: può causare la sospensione o l'interruzione delle attività di sincronizzazione in background.
Multitasking iOS
iOS utilizza un sistema di gestione del ciclo di vita delle app aggressivo per preservare la durata della batteria e ottimizzare le prestazioni. Quando più app sono in esecuzione o quando un'app viene mandata in background, iOS potrebbe mettere in pausa, sospendere o terminare attività in background come la sincronizzazione o l'elaborazione dei dati. Ciò influisce sia sulla reattività in tempo reale che sull'affidabilità della sincronizzazione durante il multitasking.
Influenze chiave
- Utilizzo di Split View o Slide Over: la condivisione di spazio sullo schermo e memoria può ridurre le risorse disponibili per la tua app.
- Sospensione dell'app: quando è in background, l'app potrebbe perdere l'accesso alla rete o all'archiviazione, a meno che le modalità in background non siano implementate correttamente.
- Chiusura delle app: iOS potrebbe chiudere le app in background quando la memoria è sotto pressione, interrompendo la sincronizzazione o le operazioni di grandi dimensioni.
- Frequenti cambi di contesto: possono interrompere le attività in corso, soprattutto se l'app non salva lo stato in modo efficiente.
Volume e struttura della biblioteca
La quantità, le dimensioni e la struttura dei dati gestiti dalla tua app hanno un impatto diretto sia sulle prestazioni di sincronizzazione sia sulla rapidità con cui l'app risponde ad azioni dell'utente come filtraggio, ricerca o navigazione negli elenchi.
Influenze chiave
- Dimensione totale dei dati: i set di dati più grandi consumano più memoria e spazio su disco, influendo sui tempi di caricamento e sul rendering.
- Numero di record: molti record individuali aumentano l'utilizzo della CPU e della memoria, soprattutto se tutti vengono caricati nella memoria.
Temperatura del dispositivo e limitazione termica
I dispositivi iOS ridurranno automaticamente le prestazioni di CPU e GPU quando il dispositivo si surriscalda troppo per evitare il surriscaldamento (thermal throttling). Questo influisce sulla velocità e sulla reattività complessiva delle app.
Influenze chiave
- Luce solare diretta o calore esterno: aumentano rapidamente la temperatura interna.
- Attività di elaborazione o sincronizzazione prolungate: soprattutto se abbinate a una scarsa ventilazione.
- Luminosità prossima al massimo: contribuisce al surriscaldamento durante le sessioni lunghe.
- Luminosità automatica disattivata: potrebbe causare un'elevata luminosità prolungata in ambienti luminosi.
- Tempo prolungato di accensione dello schermo: in particolare con elementi visivi attivi (ad esempio mappe, aggiornamenti in tempo reale), lo stress termico viene accelerato.
Stato della batteria, livello e modalità di alimentazione
Quando la batteria scende a un livello basso o è abilitata la modalità Risparmio energetico, iOS risparmia energia limitando l'attività in background e riducendo le prestazioni del sistema.
Influenze chiave
- Stato generale della batteria: una batteria degradata può causare una riduzione delle prestazioni del dispositivo anche a livelli di carica più elevati, in particolare sotto carico o durante il multitasking.
- Stato di batteria scarica: potrebbe ritardare o impedire la sincronizzazione in background e ridurre le prestazioni.
- Modalità a basso consumo: il recupero in background, gli intervalli di sincronizzazione e le animazioni potrebbero essere limitati o disabilitati.
- Stato di connessione del caricabatterie: il comportamento può cambiare a seconda che il dispositivo sia collegato o meno.
Profili di configurazione del dispositivo e gestione dei dispositivi mobili (MDM)
Negli ambienti aziendali, i dispositivi possono essere gestiti tramite soluzioni MDM che impongono policy sul comportamento delle app, sulla rete o sull'utilizzo delle risorse.
Influenze chiave
- Limitazioni all'esecuzione in background: i profili MDM potrebbero limitare la sincronizzazione in background o limitare API .
- Filtraggio di rete o routing VPN: potrebbe ritardare o bloccare gli endpoint di sincronizzazione.
- Criteri di utilizzo della batteria: possono limitare l'utilizzo della CPU o la durata delle attività in background.
Strategia e frequenza di sincronizzazione
Per ridurre la quantità di dati accumulati e mantenere gli aggiornamenti leggeri, Yonder esegue frequenti controlli di sincronizzazione. Questo può avere un impatto sulle prestazioni durante l'utilizzo online, poiché l'app elabora le operazioni di sincronizzazione in background. Gli utenti potrebbero anche notare un breve sfarfallio dello schermo quando il contenuto viene aggiornato durante questo processo.
Per maggiori dettagli fare riferimento al capitolo dedicato alla Sincronizzazione.