Tiêu đề này nghe có vẻ hơi điên rồ, nhưng đây là điều làm tôi bối rối. Ứng dụng của tôi sử dụng nhiều hoạt động cơ sở dữ liệu cục bộ. Như đã đề xuất trong tài liệu Android và một số blog, tôi đã mở rộng lớp SQLiteOpenHelper
và xác định tất cả các hoạt động DB của tôi ở đó. Khi một số hoạt động DB của tôi thực hiện trong các luồng, việc mở và đóng của db gây ra một số IllegalStateExceptions
. Vì vậy, tôi đã hỗ trợ DB của tôi là Singleton
và giải quyết những vấn đề đó, đồng thời cũng loại bỏ các hoạt động open
và close
cho mọi hành động DB. Bây giờ mọi thứ dường như hoạt động tốt mặc dù tôi chưa bao giờ đóng DB.Điều gì sẽ xảy ra nếu tôi không đóng cơ sở dữ liệu trong Android?
- Sự nhầm lẫn của tôi là cần thiết phải đóng DB?
- Nếu vậy, địa điểm phù hợp để làm như vậy, là gì trong số
onDestroy
hoạt động chính hoặc ở một nơi khác? - Nếu tôi không đóng DB, các tác dụng phụ là gì?