我正在使用数据库开发应用程序,但我不知道何时关闭它有用?
建议每次都关闭还是我应该一直打开直到我的应用程序关闭?
谢谢
您可以考虑使用ContentProvider
. 它还可以轻松处理来自许多活动和片段的数据库和数据。您还可以花费最少的精力来处理数据库连接
一般的共识是在使用完数据库连接后关闭它。
例如,这可能是在启动时仅使用一次连接后,您将在首次使用后关闭它。
但是,您可能希望再次使用数据库连接,在这种情况下,您应该将其保持打开状态。
始终建议为每个查询操作打开和关闭连接....有时用户可能需要一些时间来发送请求,并且不建议在日志时间内保持数据库连接打开。在 java 中,您可以使用“Finally”块进行连接关闭方法调用,在 C 中,您可以使用析构函数来调用连接关闭方法……或者在您完成查询执行时显式调用
在主要活动中:
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();
}
当你的 Activity 被销毁时关闭数据库。
@Override
protected void onDestroy() {
super.onDestroy();
//close db in here.
}
推荐的方法是使用连接池,例如 Apache commons-dbcp http://commons.apache.org/proper/commons-dbcp/并在使用后立即关闭 ResultSet、Statement 和 Connection。
我不确定您的代码架构。连接基本上是在 DAO 层打开的,关闭连接的代码应该在“finally”块中。
连接到数据库需要有限的时间。当通过域套接字或命名管道连接时,它可以忽略不计,但如果通过网络连接,或者更糟糕的是,通过开放的 Internet,它可能会大得多。至少在请求的整个生命周期内保持连接。最后你应该总是关闭它,有时它会在程序终止时隐式完成,但它是保持检查的好习惯。