에러(error)
(Cursor 사용할 때 발생한) Finalizing a Cursor that has not been deactivated or closed
상황(Situation)
앱실행시 죽지는 않고, 로그캣(LogCat) 상에서 빨간 글씨가 나타난다.
Finalizing a Cursor that has not been deactivated or closed. 라는 메시지가 나온다.
해결(Solution)
메모리 릭이 발생하기 때문에 발생한 문제이다. 이 부분을 찾아 수정한다. 현재 작성했던 코드를 보니, 예외처리를 했지만, 이로서는 충분하지 않다.
try { } catch(SQLException e){ } |
따라서, 필요없는 Cursor는 아래처럼 닫아준다.
Cursor mCursor = null; mCursor = mDb.query(true, DATABASE_TABLE, new String[]{"test"},"test" + "=" + 'hi', null, null, null, null, null); mCursor.close(); |