2012-03-07 67 views
0

當我處理通常Activity,然後我在onCreate打開一個數據庫,並在onStop關閉它。當我處理選項卡的活動,然後我加入onResume和另一個打開的另一個密切。方法來關閉/重新打開數據庫

因此,代碼看起來像這樣

@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

同意,你應該總是關閉數據庫連接,當你不需要它。 – Andreas 2012-03-07 08:56:15

1

我想關閉數據庫後打開它的代碼塊是一個更好的辦法。因爲如果您的活動的生命週期中存在一些不需要的錯誤,則可以保證您的數據庫將關閉。

+0

嗯,似乎自己和編譯器想的一樣。儘管我在onStop中關閉了數據庫,但我仍然得到一個警告,指出遊標保持打開狀態。我將在這個主題上發表另一個Q. – sandalone 2012-03-07 11:19:00