4

我正在使用数据库开发应用程序,但我不知道何时关闭它有用?

建议每次都关闭还是我应该一直打开直到我的应用程序关闭?

谢谢

4

8 回答 8

2

您可以考虑使用ContentProvider. 它还可以轻松处理来自许多活动和片段的数据库和数据。您还可以花费最少的精力来处理数据库连接

于 2013-08-28T08:41:48.687 回答
0

一般的共识是在使用完数据库连接后关闭它。

例如,这可能是在启动时仅使用一次连接后,您将在首次使用后关闭它。

但是,您可能希望再次使用数据库连接,在这种情况下,您应该将其保持打开状态。

于 2013-08-28T08:32:29.817 回答
0

始终建议为每个查询操作打开和关闭连接....有时用户可能需要一些时间来发送请求,并且不建议在日志时间内保持数据库连接打开。在 java 中,您可以使用“Finally”块进行连接关闭方法调用,在 C 中,您可以使用析构函数来调用连接关闭方法……或者在您完成查询执行时显式调用

于 2013-11-18T10:50:05.900 回答
0

在主要活动中:

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();
    }
于 2013-08-28T08:28:51.987 回答
0

当你的 Activity 被销毁时关闭数据库。

@Override
protected void onDestroy() {
    super.onDestroy();

//close db in here.

}
于 2013-08-28T08:29:07.837 回答
0

推荐的方法是使用连接池,例如 Apache commons-dbcp http://commons.apache.org/proper/commons-dbcp/并在使用后立即关闭 ResultSet、Statement 和 Connection。

于 2013-08-28T08:29:11.460 回答
0

我不确定您的代码架构。连接基本上是在 DAO 层打开的,关闭连接的代码应该在“finally”块中。

于 2013-08-28T08:29:37.117 回答
0

连接到数据库需要有限的时间。当通过域套接字或命名管道连接时,它可以忽略不计,但如果通过网络连接,或者更糟糕的是,通过开放的 Internet,它可能会大得多。至少在请求的整个生命周期内保持连接。最后你应该总是关闭它,有时它会在程序终止时隐式完成,但它是保持检查的好习惯。

于 2013-08-28T08:29:40.897 回答