안드로이드 개발 질문/답변
(글 수 45,052)
보통 DB의 Curosr 를 오래 쓸때 startManagingCursor 를 많이 씁니다.
근데 stopManagingCursor 를 쓰면 Cursor 가 닫히는 줄 알았는데 아니더군요.
디버깅해서 Cursor 의 closingFlag 를 보니 false 로 나오더군요.
그래서
protected void onDestroy()
{
super.onDestroy();
stopManagingCursor(c);
c.close();
db.close();
}
처럼 꼭 Cursor를 닫아줘야 될 것 같습니다.
근데 stopManagingCursor 를 안쓰고 닫으면 Cursor 가 자동으로 닫혀야 되는거 아닐까요?




엑티비티 상태에 따라서 Cursor의 상태를 활성화 하느냐 마느냐를 결정하는게 ManagingCursor로 알고 있습니다.
open close는 별개구요... 만약 Tab같은데서 왔다리 갔다리 했을때 ManagingCursor를 해두고
하나의 Activity만 활성되니까... 그것을 이용해서 destroy에서만 확실히 닫아주면 되더군요.