La fermeture de la base de données dans un ContentProvider

Cette semaine, j'ai été à l'apprentissage tout au sujet de ContentProvider et à l'aide de la SQLiteOpenHelper classe pour gérer la création et la mise à niveau de la base de données à l'intérieur d'un prestataire. Plus précisément, j'ai de la lecture à travers l'exemple le bloc-notes dans le kit de développement du répertoire d'exemples.

Maintenant, je peux voir que SQLiteOpenHelper a une méthode close (). Je suis conscient que le laisser inactif bases de données open est une mauvaise pratique et peut provoquer des fuites de mémoire et autres joyeusetés (sauf cette discussion est dirigé dans la bonne direction). Si je ont été à l'aide de la classe dans une Activité, je voudrais simplement appeler close() dans le onDestroy() la méthode, mais pour autant que je sais, ContentProvider n'ont pas le même cycle de vie que les activités à faire. Le code pour le bloc-notes ne semble jamais à appeler close(), je voudrais donc supposer qu'il est manipulé par SQLiteOpenHelper ou une autre pièce du puzzle, mais j'aimerais vraiment le savoir. Je n'ai pas vraiment confiance en l'exemple de code que beaucoup, que ce soit...

Question résumé: Quand doit-on fermer la base de données à un fournisseur, le cas échéant?

  • Dianne Hackborn a dit, il ya pas besoin de fermer la db.
  • C'est l'information la plus importante sur ce fil. J'ai fait une réponse.
InformationsquelleAutor SilithCrowe | 2010-12-28