DB를 편집하고 목록에 띄우는 프로그램을 작성하다가 의문점이 생겨 글 올립니다
처음에 DB를 오픈하고 커서, 어댑터, 리스트를 생성하여 목록을 띄웠습니다
그다음 텍스트를 입력하고 버튼을 누르면 데이터베이스에 저장이 되고 목록을 갱신하는 소스를 작성하였습니다
그런데 두가지 방법이 나왔습니다

- DB를 오픈해둔 상태로 데이터를 입력하고 저장하고 리스트를 갱신하는 작업을 반복하는 방법

- DB오픈, 데이터 입력, 저장, 리스트 갱신, DB 닫기를 매 버튼 클릭시마다 반복하는 방법

첫번째 방법이 물론 처리속도는 좋다는걸 느끼지만 문제는 DB를 close하지 않은 상태로 프로그램이 계속 실행된다는 점..
이 경우 그냥 프로그램을 종료해도 데이터베이스에는 아무 문제가 없나요?

두번째 방법의 경우는 DB를 close해버리면 생성했던 커서, 어댑터, 리스트 참조가 사라져버려서
매번 버튼을 눌러 데이터를 저장시킬때마다 다시 열고 커서, 어댑터, 리스트를 새로 생성하고 갱신하고나서
다시 DB를 닫는 식으로 작성했습니다

어느쪽이 성능상으로 더 이득인지도 궁금합니다
DB에 데이터가 많이 들어가 있는 상태에서 DB를 닫고 안닫고가 성능에 영향을 주는지 아직 몰라서요
대체 DB를 왜 닫는걸까요?
물론 메모리를 사용하고 회수하는게 좋지만 다시 사용할때마다 다시 생성하고 쓰고 또 회수하고 이러면 연산이 많아질테고
아직 아는게 없어서 구현만 되면 그만이지 싶다가도
메모리 사용이나 성능에 관련된 부분 또한 무시할 수 없는 부분이 아닌가 하는 생각이 드네요
아무쪼록 많은 조언 부탁드립니다