Domanda

Sto sviluppando un'applicazione di rendering della mappa per Android. I dati della mappa sono piuttosto grandi di circa 1,1 GB. Dal momento che ci sono limiti sia sul mercato che al telefono per le dimensioni. Apk, i consigli sono di scaricarlo all'avvio dell'applicazione.

Questo è il modello che uso ora:
1. Attività principale (utilizzata per il rendering della mappa) Verifica se i dati sono disponibili, in caso contrario, avvia un'attività di download
2. L'attività di download avvia un servizio locale
3. Il servizio scarica i file zip e disimballa il mapdata
4. Il servizio invia eventi all'attività di download e alle notifiche

Divengo un servizio poiché l'intero processo può richiedere un po 'di tempo da 30 minuti a un paio d'ore a seconda del telefono e della rete.

Ma ho difficoltà a garantire che sia in esecuzione solo un'istanza del programma, ho provato tutte le combinazioni della proprietà LaunchMode senza alcun aiuto.

Come potresti capire, due istanze in esecuzione si bloccheranno il download/decomposizione.

Questo è davvero frustrante! Ora sto facendo qualche brutto lettura/scrittura al blocco dei file sdcard e funziona la maggior parte del tempo per assicurarsi che sia in esecuzione solo un'istanza.

Sto prendendo di mira Android 1.6 e oltre.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top