2012-11-28 5 views
3

SQLite를 사용하여 Android에서 응용 프로그램을 개발 중입니다. 나는 SQLite에 대해 매우 익숙하므로 디자인 선택에 대해 묻고 싶다. 안드로이드에서 SQLite 성능 선택

다른 한 활동에서합니다 (DB에서 행을 나타냄) 객체, 아래 중 하나입니다 빠른 및/또는 자원을 효율적으로 전달하려는 경우

?

  • 의도로 보내기 만 레코드 ID를 보내는 다른 쪽 끝
  • 에 직렬화를 해제하고 다른 활동

어느 경우 다시 DB에서 레코드를 당겨, JSON으로 객체를 직렬화, 무엇을 이 두 가지 선택의 성능 차이는 무엇입니까?

+0

개체에 대한 테이블 표시의 매핑을 관리하는 개체 관리자를 유지 관리 할 수도 있습니다. – AedonEtLIRA

답변

1

그것은 정말 행의 크기에 따라 달라집니다 않습니다. 직렬화 된 데이터를 전달하는 것이 상대적으로 작을 경우 (소수의 프리미티브) JSON보다 약간 가벼운 것을 사용하고 싶지만 큰 문제는 아닙니다. 대량의 데이터 (blob 등)가있는 경우 디스크에서 행을 가져 오는 것과 직렬화 및 deserialize하는 것 사이에서 성능이 저하되는 것은 아마도 비슷합니다. 이상적으로는 데이터를 한 번만 가져와 단일 활동에 저장하면 POJO와 같은 다양한 활동에 액세스 할 수 있습니다.

+0

정적 변수 :이 질문을 훨씬 뛰어 넘어 내 문제를 해결하는 아주 좋은 조언. 고마워요 ... 한 가지 질문 : JSON보다 가벼운 것은 무엇입니까? JSON은 내가 생각할 수있는 직렬화 된 데이터 중 가장 가벼운 형태이다. –

+0

맞습니다. JSON은 전송되는 빛이 적기 때문에 빠르게 렌더링되지만 구문 분석기는 매우 중요합니다. Bencode는 더 가볍습니다. 가장 가벼운 것은 내가 사용한 것입니다. ; 값은 코드 + 보일러 플레이트의 10 줄 미만입니다. – 323go

관련 문제