您應該在onDestroy()還是onStop()函數中關閉它?你應該在哪裏關閉android活動生命週期中的數據庫?
1
A
回答
3
我個人比較喜歡關閉數據庫一旦我完成使用它,保持數據庫打開類似於保持FileStream
打開,我不認爲這是一個好主意。根據您的使用情況,您應儘快在您的數據庫中撥打close();
。
UPDATE
關於你原來的問題,它是確定關閉的onDestroy()
事件數據庫。
1
最好最好關閉onPause()
方法中的數據庫。之後,如果操作系統需要資源,可能會在不通知的情況下終止該進程,這可能會損害您的數據庫。絕對不要推遲到onStop()
或onDestroy()
。從the docs:
onPause()
是有保證要調用的過程可以被殺死,如果說之前的系統必須在緊急情況下恢復記憶,然後onStop()
和onDestroy()
可能不會被稱爲最後一個方法。
另一種方法是將您的所有數據庫訪問權移動到服務或ContentProvider,這些服務或ContentProvider具有與操作系統交互的獨立生命週期和規則。
0
我從不顯式關閉SQLite數據庫。
我總是使用一個擴展了SQLiteOpenHelper
的類,並且有方法來執行我所需要的任何操作,永遠不會永久引用數據庫本身。一旦SQLiteOpenHelper
超出範圍,數據庫引用將被清除。
YMMV,但它涉及到你如何設計你的應用程序 - 在開始編程Android之前,我一直在SQL平臺上使用SQLite數據庫很多年,而且我還沒有損壞的數據庫。
0
只要不再需要該連接,並且還需要調用close(),則必須關閉數據庫連接。
相關問題
- 1. 活動生命週期和數據庫
- 2. Android活動生命週期
- 3. android活動生命週期
- 4. Android活動生命週期
- 5. Android/Java - 活動生命週期 - 在哪裏回到上一個活動?
- 6. Android中的活動生命週期
- 7. Android:關閉後的活動週期
- 8. Android活動生命週期與流程生命週期
- 9. Android項目生命週期 - 活動生命週期之前(Activity.onCreate())
- 10. 關於活動的生命週期
- 11. 的Android間活動的生命週期
- 12. Android活動生命週期的混亂
- 13. Android的生命週期活動
- 14. Android數據庫高級生命週期
- 15. 活動生命週期相關問題
- 16. 關於活動生命週期
- 17. Android活動生命週期問題
- 18. Android活動生命週期回調
- 19. Android活動生命週期問題
- 20. Android活動生命週期測試
- 21. 澄清Android活動生命週期
- 22. Android線程活動生命週期
- 23. Android,無限項目活動數量和活動生命週期!
- 24. 活動生命週期和數據庫混淆
- 25. 關於android活動生命週期的愚蠢問題
- 26. Android活動 - 生命週期:onPause和onDestroy之間的關係
- 27. 活動生命週期中的問題
- 28. Tabwidget中的活動生命週期
- 29. 活動中的片段生命週期
- 30. 何時在iOS生命週期中打開和關閉SQlite數據庫?