¿Cuándo es recomendable abrir y cerrar una base de datos?

Estoy desarrollando una aplicación utilizando una base de datos pero no sé cuándo es útil cerrarla?

Se recomienda cerrar cada vez o debo mantener abierto hasta que cierre la aplicación?

Gracias

Podría considerar el uso de ContentProvider . También facilita el manejo de la base de datos y los datos de muchas Actividades y Fragmentos. Usted también toma el mínimo esfuerzo para manejar la conexión db

En la actividad principal:

 public static DataBaseConect db=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); db=new DataBaseConect(this);} @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); db.close(); } 

Cierre la base de datos cuando se destruya su actividad.

 @Override protected void onDestroy() { super.onDestroy(); //close db in here. } 

La forma recomendada es usar una agrupación de conexiones, por ejemplo Apache commons-dbcp http://commons.apache.org/proper/commons-dbcp/ y cerrar ResultSet, Statement y Connection inmediatamente después del uso.

No estoy seguro acerca de la arquitectura de su código. Las conexiones se abren básicamente en la capa DAO y el código para cerrar una conexión debe estar en el bloque 'finally'.

La conexión a la base de datos toma una cantidad de tiempo finita. Es insignificante cuando se conecta a través de un socket de dominio o una canalización con nombre, pero puede ser mucho mayor si sobre una conexión de red, o peor aún, la Internet abierta. Deje conectado por lo menos durante la vida de la solicitud. Y al final siempre se debe cerrar, a veces se hará implícitamente cuando el programa termina, pero es una buena práctica para mantener un control.

El consenso general es que cierra la conexión de la base de datos una vez que haya terminado de usarla.

Por ejemplo, esto podría ser después de usar la conexión sólo una vez en el arranque, que se cierre después de que el uso inicial.

Es posible que desee utilizar la conexión de base de datos de nuevo, sin embargo, en cuyo caso debe dejar abierta.

Puede ser que valga la pena leer el siguiente enlace al discutir la apertura y cierre de bases de datos en detalle. Aunque no está conectado directamente a Android, podría ayudarle a llegar a una conclusión.

¿Es mejor cerrar mejor el DB de acceso después de cada operación de mantenerlo abierto para operaciones posteriores

Siempre será aconsejable abrir y cerrar la conexión para cada operación de consulta … a veces el usuario puede tardar tiempo en enviar solicitud y mantener la conexión de la base de datos abierta para el tiempo de registro no es aconsejable. En java puedes usar el bloque "Finally" para la conexión de llamada de método de cierre, In C u puede usar destructor para llamar al método de cierre de la conexión … o explícitamente cuando u hecho con la ejecución de la consulta

  • Diferencia entre rawquery y execSQL en android sqlite base de datos
  • SQLiteDatabase getWritableDatabase () no funciona
  • SQLite incapaz de abrir el archivo de base de datos (código 14) en la consulta "SELECT" frecuente
  • Android sqlite - selecciona registros donde el campo es nulo o vacío
  • ¿Cuál es el modo de subprocesamiento predeterminado de SQLite en Android?
  • Importar archivo .sql en la base de datos sqlite
  • Cifrar la base de datos sqlite Android:
  • Base de datos SQLite de Android compartida entre actividades
  • Java - java.lang.IllegalStateException: No se pudo leer la fila 0, col -1 de CursorWindow
  • Android: No se puede realizar esta operación porque se ha cerrado el grupo de conexiones
  • Error al cambiar la configuración regional de db '/data/data/my.easymedi.controller/databases/EasyMediInfo.db' a 'en_US'
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.