Originariamente inviato da
Malaya
Quindi? Quali problemi ci sono con le notifiche "GCM Push"?
Ancora molti pensano che le notifiche "GCM Push" consumano più batteria delle normali notifiche tramite sincronizzazione. Non è affatto vero. Il consumo della "sincronizzazione" ogni ora di un'app Mail è maggiore rispetto al GCM Push. Il motivi sono semplici. Le notifiche GCM Push non hanno bisogno di molti dati in termini di KB per il controllo delle notifiche, mentre la sincronizzazione richiede molti più KB. Di conseguenza l'impiego delle rete dati/wifi sarà maggiore. Non solo, cosa molto più importante, le applicazioni che funzionano tramite sincronizzazione ogni ora, causano molti più risvegli del sistema a schermo spento. Mentre, le applicazioni che funzionano tramite notifiche GCM Push, vengono "risvegliate solo" se si è ricevuta una notifica tramite il servizio "GCM del Google Play Services sulla porta 5228" che si occupa di gestire le notifiche "GCM Push" di applicazioni tipo: WhatsApp, Tapatalk, Twitter, Facebook, Hangout, Gmail (notifiche Push solo per l'account Gmail). Altra cosa, volente o nolente, il servizio GCM che si occupa del Push sulla porta "5228" del Google Play Services, è sempre attivo/connesso, a prescindere da quale applicazione con notifiche Push sono in ascolto sulla porta 5228. Quindi, il consumo è pressoché identico, sia se abbiamo applicazioni con notifiche Push, sia se non abbiamo applicazioni con notifiche Push. Per "disattivare" il sevizio GCM sulla porta 5228 bisognerebbe disattivare la "sincronizzazione" che, oltre a sincronizzare le applicazioni che funzionano con le normali notifiche ogni ora, si occupa anche di attivare e disattivare il Push.
Ti faccio un esempio di due applicazioni: WhatsApp e Twitter. Entrambe sono sviluppate male sotto l'aspetto dei consumi. Entrambe oltre avere le notifiche GCM Push, hanno anche il normale servizio di "sincronizzazione". Questo causa un risveglio del Device a schermo spento che consumerà più batteria. WhatsApp è la peggiore tra le due, perché ha un "servizio in esecuzione", e non da la possibilità di impostare ogni quante ore sincronizzare i contatti. Mentre Twitter da la possibilità di stabilire ogni quante ore si deve sincronizzare. Tra WhatsApp e Twitter, consuma meno batteria Twitter se non utilizzate e lasciate in background. Ovviamente se utilizzate aprendo la loro interfaccia grafica, allora il discorso cambia, consumerà più batteria Twitter per il semplice motivo che impegnerà di più il processore con il caricamento delle immagini dei Tweet e lo scrolling, causando oltretutto anche più traffico dati/wifi rispetto a WhatsApp che si occupa principalmente di semplici messaggi testuali (ovviamente se vengono inviate molte immagini oppure video, anche WhatsApp consumerà più batteria). Discorso inverso, un'applicazione sviluppata bene sui consumi in background è Tapatalk, che funziona solo tramite notifiche GCM Push e senza sincronizzazione, perché non ha bisogno di sincronizzare nulla, tra l'altro non ha "servizi in esecuzione". Il discorso cambia quando invece si utilizza l'interfaccia grafica di Tapatalk, in questo caso Tapatalk consumerà molta batteria come nell'esempio di Twitter.
Da quanto scritto, si deduce che è molto preferibile il Push alla datata sincronizzazione. Semmai bisogna scegliere le applicazioni "giuste".