2011-08-27 10 views

Respuesta

25

Una grieta se forma en el continuo espacio-tiempo, la extinción de toda amenaza para la vida en el universo, hasta que el día es salvado por un grupo de seres humanos en trajes de aspecto gracioso de colores brillantes (incluyendo algunos con cabos, si puedes creerlo).

Oh, no, espera. Eso fue solo un comic.


En realidad, no pasa mucho. Me han dicho, por Googlers y otros expertos de Android, que debido a la forma en que SQLite funciona (en particular, su manejo de las transacciones), no debe pasar nada malo si no cierra la base de datos.

De hecho, si implementa un proveedor de contenido, tendrá el mismo efecto, ya que los proveedores de contenido no son llamados con ningún tipo de método onDestroy(), lo que significa que nunca tendrá la oportunidad de cerrar su base de datos. Un proveedor de contenido solo vivirá hasta que finalice el proceso. Personalmente, esto realmente me molesta, que es una de las razones por las que trato de minimizar mi uso de los proveedores de contenido.

+4

Los proveedores de contenido son una de las partes de Android menos comprendidas y más utilizadas en exceso. Son muy solicitados en los documentos, o al menos en los primeros documentos, pero solo deben usarse si planea compartir datos con aplicaciones de terceros. He visto gente usarlos solo para serializar acceso a DB, lo cual es terrible. De todos modos, pensé que tener una conexión estática estaría bien. Hice un montón de trabajo probando lo que ocurre con múltiples conexiones. Resumen, es malo: http://www.touchlab.co/blog/android-sqlite-locking/. Trabajando en una repetición de la gestión de conexión para ORMLite. Gracias. –

+0

Esa es una gran publicación de blog, por cierto. – CommonsWare

+0

Esa publicación del blog ya no parece existir. Nuevo enlace? – John

Cuestiones relacionadas