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.

  • Multi-parámetro en ActiveAndroid
  • Android SQLite issue - table ... no tiene una columna llamada
  • SQLiteQueryBuilder.query () vs SQLiteDatabase.query ()
  • Cómo utilizar la base de datos SQLite precargada en Android de Activos
  • Operador '! =' No se puede aplicar a los operandos de tipo 'Tarea' e 'int'
  • ¿Es Parse.com un servicio adecuado para la copia de seguridad / sincronización con SQLite en Android?
  • Cambio de valores desde Cursor mediante SimpleCursorAdapter
  • Android One Plus Two: No se pudo cambiar la configuración regional para db
  • Problema de base de datos SQLite en TextView
  • Cómo incrustar una fuente personalizada en la aplicación de Android (WebView)
  • SQLite es sin tipo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.