Java 建议何时打开和关闭数据库?
我正在开发一个使用数据库的应用程序,但我不知道什么时候关闭它有用 是建议每次都关闭,还是我应该一直打开直到我的应用程序关闭Java 建议何时打开和关闭数据库?,java,android,sqlite,Java,Android,Sqlite,我正在开发一个使用数据库的应用程序,但我不知道什么时候关闭它有用 是建议每次都关闭,还是我应该一直打开直到我的应用程序关闭 感谢您在主要活动中执行以下操作: public static DataBaseConect db=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon
感谢您在主要活动中执行以下操作:
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();
}
当您的活动被销毁时关闭数据库
@Override
protected void onDestroy() {
super.onDestroy();
//close db in here.
}
建议使用连接池,例如Apache commons dbcp,使用后立即关闭ResultSet、语句和连接。我不确定代码的体系结构。
连接基本上是在DAO层打开的,关闭连接的代码应该在“finally”块中。连接到数据库需要有限的时间。当通过域套接字或命名管道连接时,它可以忽略不计,但如果通过网络连接,或者更糟糕的是,通过开放式Internet连接,它可能会大得多。至少在请求的生命周期内保持连接。最后,您应该始终关闭它,有时当程序终止时,它会隐式地完成,但最好进行检查。一般的共识是,在使用完数据库连接后关闭数据库连接 例如,这可能是在启动时仅使用一次连接后,您将在首次使用后关闭它
但是,您可能希望再次使用数据库连接,在这种情况下,您应该让它保持打开状态 < P>可以考虑使用<代码>内容提供者< /代码>。它还使处理来自许多活动和片段的数据库和数据变得容易。您还需要尽可能少的努力来处理数据库连接每次查询操作都建议打开和关闭连接……有时用户可能需要一些时间来发送请求,而不建议在日志时间内保持数据库连接打开。在java中,您可以使用“Finally”块来调用连接关闭方法,在C中,您可以使用析构函数来调用连接关闭方法……或者在您完成查询执行时显式地调用连接关闭方法。在这里前面回答:这引出了一篇很棒的文章:是的,(y)。。兄弟:把这段代码放在主活动中(应用程序中的活动)…DataBaseConect是一个类,好吧,我同意,内容提供商是一条路要走。我已经做了很多应用程序的服务和活动连接到数据库在同一时间。内容提供商处理所有连接,并确保当两个单独的线程试图同时访问数据库时,不会出现与数据库上的文件锁相关的锁问题。