2012-03-07 9 views
0

通常のActivityを処理しているときは、onCreateにデータベースを開き、onStopで閉じます。タブのアクティビティを処理すると、onResumeにもう1つ開き、にもう1つ閉じます。データベースを閉じる/再オープンするアプローチ

ので、コードはこの

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mDB.open(); 
} 

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

    mDB.open(); 
} 

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

    mDB.close(); 
} 

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

    mDB.close(); 
} 

のように見え開閉のこのすぎですか?

答えて

2

私はそうは思わない。あなたはアプリケーションのライフサイクルを管理しているだけであり、非常に良いことです。

+0

が合意した場合、必要のないときには必ずdb接続を閉じる必要があります。 – Andreas

1

私はコードブロックでそれを開いた後に近いデータベースは良い方法だと思います。あなたの活動のライフサイクルにいくつかの望ましくないバグがあると、あなたのデータベースが閉じられることを保証できるからです。

+0

自分自身とコンパイラが同じように思えるようです。私はonStopのDBを閉じてもカーソルは開いたままであるという警告を受けています。私はこのトピックについて別のQを掲載します。 – sandalone

関連する問題