2011-09-03 2 views
1

저는 재미있는 Android 애플리케이션 인 사전을 작성하고 있습니다. MVC를 아키텍처 패턴으로 사용하기로 결정했습니다. 나는 구글처럼 istant 검색을 만들고 싶기 때문에 나는 많은 쿼리를 할 필요가있다 : 사용자가 EditText에 편지를 추가 할 때마다 나는 데이터베이스를 쿼리하기를 원한다.
매번 데이터베이스를 열거 나 항상 열어두면 최상의 솔루션이 무엇인지 궁금합니다. 전자는 엄격하게 필요한 경우에만 데이터베이스가 열려 있기 때문에 더 좋을 수 있습니다. 후자는 더 효율적이어야합니다.
다른 방법이 있습니다. MVC를 사용하기 때문에 데이터베이스를 쿼리하는 뷰가 있습니다. 따라서 모델 부분에 필요한 경우 데이터베이스를 열고 사용자가 단어를 찾으면 닫을 공용 메서드를 만들 수 있습니다. 그러나 이것이 좋은 해결책이 될 수 있을까요? 데이터베이스의 가장 중요한 두 기능 (열기 및 닫기)이보기 부분에 표시됩니다. 이것은별로 정확하지 않습니다. 정보를 숨기지 않았습니다.Android 및 MVC를 사용하여 데이터베이스 열기

이 논리적이고 문제가되는 부분에 대해 어떻게 생각합니까?

답변

1

우리가 이론적 인 패턴 디자인을 전적으로 말하면 진실은 모델이 데이터베이스의 데이터를 얻는다는 사실을 폭로하지 않아야한다는 것입니다. 데이터베이스가 열려 있는지 여부에 대한 모델을 쉽게 추적하고 필요한 경우 열 수 있습니다.

질문의 성능 측면에서 이와 같은 질문에 대해서는 방법 만 측정하는 것이 좋습니다. 데이터베이스를 열어두면 아무런 부작용이 없으며 열어 두는 데 아무런 문제가 없을 수 있습니다. 가장 쉽고 빠른 해결책이 일 것입니다.. 그러나 열어두면 메모리가 너무 많이 사용되거나 CPU가 사용 중이거나 다른 부작용이 발생할 수 있습니다.

내가 언급했듯이 결정적인 답을 얻는 유일한 방법은 측정하는 것입니다. 다른 프로파일 링 도구 중 DDMS을 사용할 수 있습니다.

+0

데이터베이스를 열어야 할 경우 모델 내부를 제어하는 ​​좋은 아이디어입니다. 쉽고 효과적으로! 성능이 그렇게 나쁘지 않기를 바라면서 데이터베이스를 열어 두도록 노력하겠습니다. 답변 해주셔서 감사합니다 :) – lastYorsh

관련 문제