Come migliorare le prestazioni di un'applicazione Android quando esegue servizi in background
Questo dipende da cosa fa il tuo servizio, prendiamo un esempio di un servizio che viene lanciato ogni 15 minuti utilizzando Alarm Manager (Inexact Repeating) per controllare i dati più recenti dal server e scaricarli per essere sostituiti con i vecchi dati.
In questo caso scenario noi:
- Prendiamo le informazioni sui dati
- Controlliamo la data dei nuovi dati
- Se nuovi. Memorizzare i dati
- Ripetere i prossimi 15 minuti.
Ci sono alcuni consigli per migliorare le prestazioni del servizio:
- Controllare la connessione internet: E se il dispositivo è offline? Il servizio continuerà semplicemente a cercare di ottenere i dati dal server e questo consuma batteria e prestazioni, possiamo semplicemente eliminare tutte le attività se il dispositivo è offline.
- Se il dispositivo è online e i dati sono superiori a 2 Mb possiamo eliminare il download diretto dei dati e il controllo semplicemente regolando il nostro server per notificare i nuovi cambiamenti dei dati facendo una semplice richiesta che restituisce meno di 5 Kb con i risultati in modo da poter scegliere se scaricare i dati o no.
Facendo queste semplici modifiche il flusso di lavoro del servizio sarà come questo:
- Controlla la connettività internet.
- Invia una richiesta GET al server per ottenere il valore booleano se dobbiamo scaricare i nuovi dati o no.
- Se sì, scarica e memorizza i dati.
Seguendo questo si ha una semplice comprensione su come preservare le prestazioni/la vita della batteria. Assicuratevi sempre che il servizio sia costruito per utilizzare poche risorse (CPU/MEM/NETWORK).
Articoli simili
- Perché dovrei cancellare le app in background di Android? Aiuta davvero ad aumentare le prestazioni del dispositivo?
- Posso fare un'applicazione web che gira su Android in modalità foreground, ad esempio, lavorare in background anche quando chiudo il browser?
- Quando forzo l'arresto di un'applicazione Android, tutti i permessi delle app vengono ancora eseguiti in background?
- Come progettare un marketplace di servizi per attrarre fornitori di servizi molto apprezzati e fornitori di servizi che iniziano a lavorare