Ultimamente OsmAnd è molto lento: la mappa si muove a scatti, la registrazione dei tracciati si interrompe, la posizione non viene aggiornata e l'app sembra non reagire ai comandi, oppure lo fa con molto ritardo. Perchè?
Diversi fattori possono causare questi fenomeni:
Quando le risorse di memoria del dispositivo scarseggiano, il sistema cerca di liberarne una parte: ciò si traduce in un maggiore carico di lavoro per il processore (CPU) ed ha conseguenze sulle prestazioni delle applicazioni, che funzionano più lentamente.
Discorso analogo vale nel caso in cui il processore grafico (GPU) si trovi a dover gestire un numero di elementi troppo elevato rispetto alle sue capacità di elaborazione: in questo caso il display sarà aggiornato con ritardo (tecnicamente chiamato “lag”), da cui la “scattosità” del programma.
Entrambe le situazioni descritte portano il dispositivo a funzionare al massimo della potenza, aumentando così il consumo di energia e la temperatura di esercizio; quando quest'ultima è troppo elevata e non vi è un efficace raffreddamento, interviene il meccanismo di protezione noto come “Thermal throttling”: la velocità di funzionamento dei processori viene ridotta per preservarli dal surriscaldamento, il che peggiora ulteriormente le prestazioni generali del sistema.
È quindi bene evitare di far funzionare il dispositivo in un luogo chiuso, poco ventilato e, soprattutto, esposto alla luce diretta del sole: anche pochi minuti in queste condizioni possono danneggiarlo seriamente.
Un accorgimento utilizzabile in auto è quello di posizionare il dispositivo davanti ad una delle aperture per la ventilazione dell'abitacolo, fissandolo con apposito supporto reperibile comunemente nei negozi di accessori per la telefonia mobile; se si viaggia in moto o in bicicletta, invece, il semplice flusso dell'aria in movimento potrebbe giovare (anche in questo caso, esistono sostegni che si possono facilmente installare sul manubrio o altra struttura tubolare del mezzo).

Nei moderni dispositivi è disponibile la modalità “Risparmio energetico”: essa permette di prolungare la durata della batteria tramite particolari opzioni, come ad esempio la disattivazione delle connessioni di rete, la riduzione della luminosità del display o l'uso di sfondi neri per le app (la cosiddetta “Modalità notte” o “Dark mode”, efficace se il display è di tipo OLED).
Tutte queste opzioni sono attivabili, in Android, dal menu Impostazioni → Assistenza dispositivo e batteria → Batteria → Risparmio energetico, per ottenere un minore consumo energetico e più risorse libere, al costo però di sacrificare le prestazioni generali del dispositivo e delle applicazioni.
Sia Android che iOS sono poi in grado di “mettere in pausa” le applicazioni non utilizzate e limitare la frequenza operativa del processore; purtroppo, però, a volte può capitare che il sistema mandi in stand-by anche qualche app che in realtà si vuole mantenere sempre attiva.
In Android è possibile indicare al Sistema Operativo quali app considerare “Importanti”: esse pertanto non dovranno mai finire in stato di riposo; per fare ciò basta ricercare, nelle impostazioni del Sistema Operativo, la funzione "App mai in sospensione"; al solito, i nomi e le posizione di queste voci di menu possono variare a seconda della versione di Sistema Operativo utilizzata.

In Android
Aggiungere OsmAnd all'elenco delle "App mai in sospensione” per evitare che possa venire messo in stand-by dalla gestione del risparmio energetico quando si trova in secondo piano. La procedura è semplice, purtroppo però, arrivare al menu che permette di controllare quelle impostazioni è poco intuitivo:
Aprire il menu di Android Impostazioni → Assistenza dispositivo e batteria → Limiti per l'uso in background → App mai in sospensione;
Se l'app cercata non è nemmeno nell'ultimo elenco, verificare il menu Impostazioni → Applicazioni → [...] → Accesso speciale → Ottimizza uso batteria: se qui il relativo selettore è spostato verso sinistra, l'app è esclusa a priori dall'ottimizzazione: il controllo, infatti, agisce a monte della sospensione delle app.

Nell'app
Limitare il numero di tracciati GPX aperti in OsmAnd nello stesso momento;
Utilizzare la mappa di OsmAnd in modalità 2D e nascondere eventuali livelli aggiuntivi, come ad esempio l'ombreggiatura del terreno e le linee isoipse, per non gravare eccessivamente sulla GPU;
Ho notato che OsmAnd ha un ritardo sulla reale posizione, di circa 2 secondi; altre volte, invece, percorrendo una rotonda, l'indicatore si blocca all'ingresso e poi si riposiziona di scatto solo dopo esserne uscito. A cosa è dovuto?
Questo comportamento può essere originato da molteplici fattori; analizziamo di seguito i principali.
Il problema è già stato trattato in dettaglio sopra (vedi).
Android consente di scegliere tra diverse sorgenti per l'acquisizione della posizione: oltre alle librerie standard di sistema, infatti vi sono anche le cosiddette Google Apps o “Gapps”, che offrono funzionalità avanzate come l'interfacciamento con database globali ed algoritmi ospitati su server remoti: in questo modo le funzioni sviluppate da Google possono calcolare la posizione in modo molto più accurato.
Per modificare l'opzione, aprire il menu /// → Impostazioni → Impostazioni OsmAnd → Origine della posizione: se è selezionata l'opzione Android API , scegliere invece Google, e viceversa.
