Sto creando un'app per Android, nella mia attività ho bisogno di caricare un array di circa 10000 stringhe. Il caricamento dal database era lento, quindi ho deciso di inserirlo direttamente in un file .java (come campo privato). Ho circa 20 di queste classi contenenti array di stringhe e la mia domanda è, sono tutte le classi caricate in memoria dopo l'avvio della mia applicazione? In tal caso, l'attività in cui ho bisogno di queste stringhe verrà caricata rapidamente, ma l'applicazione nel suo complesso avrebbe un avvio lento ... C'è altro modo, come caricare molto rapidamente un array di stringhe 10000 da un file?Tutti i file .class nella mia applicazione Java sono caricati in memoria dopo l'avvio dell'appliaction?
UPDATE: Perché ho bisogno di queste stringhe? La mia app per Android ti consente di trovare "viaggi" nel trasporto pubblico di Praga: scegli la fermata di partenza, la fermata di arrivo e trova il tuo viaggio (dai uno sguardo allo here). La mia app ha una funzione di suggerimenti: inserisci leter "c" come fermata di partenza e un suggerimento ListView appare con arresti che iniziano con "c". Per questi suggerimenti ho bisogno delle stringhe. Il recupero dei suggerimenti dal database è lento (circa 400ms su G1).
A cosa servono queste stringhe? – Macarse
La maggior parte dei dispositivi Android è affamata di memoria principale, se possibile genererei quelle stringhe al volo. –
Se li stai visualizzando in un elenco, ListView + CursorAdapter li caricherà al volo, molto velocemente. Non dovresti avere problemi di prestazioni con SQLite su Android per un caso così semplice. –