È necessario o addirittura consigliabile accedere sempre a SQLiteDatabase da un AsyncTask?È necessario accedere a un SQLiteDatabase in un AsyncTask?
Facendolo dal thread UI sembra non causare problemi ed è molto più semplice da implementare.
È necessario o addirittura consigliabile accedere sempre a SQLiteDatabase da un AsyncTask?È necessario accedere a un SQLiteDatabase in un AsyncTask?
Facendolo dal thread UI sembra non causare problemi ed è molto più semplice da implementare.
Si raccomanda di non eseguire IO dal tuo thread dell'applicazione principale, ma, lo fa non devono essere fatto utilizzando un AsyncTask
.
Sono disponibili altre opzioni per uscire dal thread principale, alcune delle quali includono Loader Framework, IntentService e Executors.
È una buona pratica. Le operazioni del database non sono sempre veloci, quindi Android consiglia di eseguire tutte le operazioni di database e di rete su un thread in background (AsyncTask, Runnable, ecc.).
No, non è necessario accedere SEMPRE al database in un'altra discussione. Dipende da quanto tempo ci vuole. Di solito le letture/le scritture sono veloci, non rallentano l'interfaccia utente e non richiedono un altro thread. Tuttavia, quando esegui operazioni lunghe come le pulizie ecc. Allora sì, è una buona idea farle in un altro thread.
Gli utenti tenderanno a considerare un'interfaccia utente bloccata come un problema. – CommonsWare
Giusto, ma finora non sembrava congelare l'interfaccia utente. –