Tôi nên đóng con trỏ sau mỗi lần sử dụng hay tôi có thể giữ nó mở cho đến khi chế độ xem bị hủy?
Phụ thuộc. Nếu kết quả con trỏ sẽ không thay đổi trong khi đó (ví dụ:kết nối từ xa sửa đổi DB), thì không sao. Đừng quên sử dụng CursorLoader
để Android tự động quản lý con trỏ của bạn (ví dụ:đóng con trỏ nếu ứng dụng của bạn gặp sự cố).
Và tương tự đối với cơ sở dữ liệu, nó có thể được mở sau khi hoạt động chứa chế độ xem này được tạo và đóng khi hoạt động bị hủy không?
Có, bạn có thể mở trong onResume()
và đóng trong onPause()
gọi lại hoặc khi bạn biết cơ sở dữ liệu của mình sẽ không được truy vấn nữa.
Tôi liên tục nhận được lỗi 'close () chưa bao giờ được gọi rõ ràng trên cơ sở dữ liệu ...' khi tôi làm như mô tả ở trên.
Điều này chỉ bình thường nếu ứng dụng của bạn gặp sự cố. Sẽ không xảy ra nếu bạn đang làm như tôi đã nói ở trên.