Haruskah saya menutup kursor setelah setiap kali digunakan atau dapatkah saya tetap membukanya sampai tampilannya rusak?
Bergantung. Jika hasil kursor tidak akan berubah sementara itu (misalnya koneksi jarak jauh memodifikasi DB), maka tidak apa-apa. Jangan lupa untuk menggunakan CursorLoader
agar Android mengelola kursor Anda secara otomatis (mis. menutup kursor jika aplikasi Anda mogok).
Dan sama untuk database, dapatkah dibuka setelah aktivitas yang menyimpan tampilan ini dibuat dan ditutup saat aktivitas dimusnahkan?
Ya, Anda dapat membuka di onResume()
dan tutup di onPause()
callback, atau ketika Anda tahu database Anda tidak akan ditanyakan lagi.
Saya terus-menerus menerima kesalahan 'close() tidak pernah secara eksplisit dipanggil pada database...' ketika saya melakukan seperti yang dijelaskan di atas.
Ini normal hanya jika aplikasi Anda mogok. Seharusnya tidak terjadi jika Anda melakukannya seperti yang saya katakan di atas.