Autore Topic: E' necessario chiudere un database?  (Letto 458 volte)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
E' necessario chiudere un database?
« il: 01 Giugno 2011, 20:10:20 CEST »
0
Dai vari post mi pare di aver capito che e' sempre meglio chiuderlo.

Ma dal tutorial che si trova nel sito ufficiale Android Developers

non vedo traccia della cosa.

Personalmente ho la situazione in cui se non lo chiudo, il logCat si arrabbia e mi dice di chiuderlo, se lo chiudo, invece la mia lista, una volta che dall'activity secondaria passo a quella precedente, non si vede piu'.

Quindi la domanda:

E' necessario chiudere un database?

r

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
R: E' necessario chiudere un database?
« Risposta #1 il: 02 Giugno 2011, 03:31:50 CEST »
0
Domanda interessante. Sarei curioso anch'io di conoscerne la risposta...

Inviato dal mio Gingerbread on Sapphire usando Tapatalk
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:E' necessario chiudere un database?
« Risposta #2 il: 02 Giugno 2011, 17:02:46 CEST »
0


E' necessario chiudere un database?



Per l'errore stampato nel logcat non credo, ma, appunto, è consigliabile farlo. Credo che il problema principale del lasciarlo aperto sia creare un leak al context, impedendo al garbage collector di liberare memoria. Per il problema della lista che non si aggiorna, credo sia un errore di posizionamento. Il database, molto generalmente, andrebbe aperto nell'onResume(), e chiuso nell'onPause(). Anche l'adapter, ovviamente, va posizionato nell'onResume.  :-)