Cómo y cuándo cerrar la base de datos sqlite en la aplicación con un montón de actividades y servicios

He leído mucho acerca de este tema, pero no se puede utilizar ninguna solución en mi aplicación. Supongamos que hay pocos servicios y muchas actividades que necesitan acceder a db. Por supuesto, sólo una actividad es activa. Pero en el peor escenario hay una actividad y dos servicios ejecutando el acceso de fondo db.

Así que cuando cierro db de onResume de la actividad – servicio de acceso db lanzaría excepción. Y lo mismo es cuando cierro db de onDestroy del servicio y hay cursor abierto en la actividad.

Tengo algún tipo de DBManager en mi objeto de aplicación como singleton. Init DBManager en Application.onCreate. Pero no hay lugar para cerrar db sin arriesgarse a que otro Servicio y actividad está accediendo a esto.

Así que ahora yo nunca cerrar DB – ¿hay alguna consecuencia de hacer eso? ¿Hay la misma solución simple (o no demasiado complicada) para cerrar DB?

Aquí están mis aplicaciones en el mercado

Versión rusa

versión inglesa

2 Solutions collect form web for “Cómo y cuándo cerrar la base de datos sqlite en la aplicación con un montón de actividades y servicios”

Hago lo mismo, uso un objeto de base de datos singleton y nunca lo cierro hasta que mi aplicación sea destruida. No he notado ningún problema hasta ahora. Una respuesta más detallada está aquí:

https://stackoverflow.com/a/4842251/448625

Debería intentar usar ContentProviders , el sistema Android ContentProviders la creación / apertura / cierre de la base de datos según sea necesario.

  • Conexión de SQLite se filtró aunque todo se cerró
  • ¿Hay una manera fácil de agregar un timestamp de última modificación mientras se utiliza ORMLite y Android?
  • Cómo obtener el ID de botón de radio comprobado creado dinámicamente en android
  • ¿El yieldIfContendedSafely () pierde los beneficios de una transacción?
  • SQLiteOpenHelper onUpgrade () Confusión Android
  • Actualizar ListView después de eliminar la operación
  • ¿Es el contexto de la aplicación siempre el mismo sin importar la clase?
  • La columna _id no existe
  • En java, ¿cómo puedo eliminar una tabla sqlite?
  • Usar swagger con una base de datos de android
  • Android: filtrar un SimpleCursorAdapter ListView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.