2010-06-14 4 views
5

Je veux savoir quand une méthode proche d'une base de données sqlite doit être appelée dans un cycle de vie, puisque l'exemple NotePad dans le sdk (http://developer.android.com/resources/tutorials/notepad/index.html) n'appelle pas NotesDbAdapter.close(), il implémente cependant cette méthode.Quand dois-je appeler une méthode proche d'une base de données SQLite dans Android

Mon application accède à la base de données pas si souvent, mais certains, cela dépend des demandes des utilisateurs. Je pense que je devrais ouvrir le db à onCreate, et le fermer à onDestroy. Est-ce une bonne pratique?

Merci à l'avance, yokyo

Répondre

4

Je pense que je devrais ouvrir le db au onCreate, et fermez-le à la OnDestroy. Est-ce une bonne pratique?

Oui, c'est un motif à utiliser.

+0

Merci CommonsWare. Vous m'avez assuré;) –

+3

Non, ce n'est pas le cas. Comme indiqué dans les pages de développeur, la méthode onDestroy ne sera pas appelée si le système tue le processus en raison d'une mémoire insuffisante. Vous devriez utiliser la méthode onPause pour cela. http://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29 –

+0

@Will Kru: Non, 'onDestroy()' est OK. Si le processus est terminé, il n'y a apparemment aucun mal - tout est conservé dans le cadre des transactions de la base de données. – CommonsWare

Questions connexes