2011-12-19 4 views
0

나는 안드로이드 용 Gmail 응용 프로그램과 같은 안드로이드 응용 프로그램을 만들고 있습니다. 앱이 매우 빠르고 반응이 빠르다는 것을 알 수 있습니다.빠른 응답 안드로이드 응용 프로그램을 구현하는 방법

더 나은 성능을 위해 gmail이 로컬 캐싱을 사용합니다. 하지만 gmail이 다음 유스 케이스를 어떻게 처리하는지 궁금합니다.

처음으로 로그인하면 앱에서 모든 이메일을로드하고 sqlite 또는 기타 캐싱을 넣을 수 있습니다. use case1 별을 삭제하거나 추가 할 때마다 서버에 비동기 서버가 필요합니다. 이건 괜찮아.

사례 2를 사용하십시오. 사용자가 다른 클라이언트에서 변경 한 경우 앱에 어떻게 알림이 전송됩니까? (브라우저에서). 전체 메일을 다운로드하려면 비용이 많이 듭니다. 사용자가 이미 캐시 된 이메일에 별표를 추가하는 경우를 가정합니다.

우리는 다른 클라이언트에서 만든 업데이트 만 얻는 방법으로 API를 구현할 수 있습니까? 새 이메일, 삭제 된 이메일, 별표 추가 등의 업데이트. 사용자가 백그라운드 동기화를 사용하지 않을 때 시나리오를 고려하고 있습니다.

오랫동안 저를 괴롭 혔습니다. Gmail 자습서의 비밀을 이해할 수있는 자습서 나 링크를 알려 주시기 바랍니다.

답변

0

왜 Gmail 웹 앱을 보지 않습니까? 그것은 동일하거나 유사한 디자인 원칙을 사용하게 될 것입니다 (Gmail 웹 앱 또한 매우 빠릅니다). 그런 다음 동일한 원칙을 적용 할 수 있습니다. 웹 응용 프로그램을 사용하면 파이어 폭스와 방화범 같은 것을 사용하여 웹 요청을 볼 수 있습니다. Net 탭에서 네트워크를 통해 전송되는 내용을 표시합니다. 또한 요청이 구조화 된 방법을 보여줍니다. 데이터를 최적으로 반환하는 방법을 알 수는 없겠지만 매우 간단합니다.

1) 이메일의 가장 최근 페이지에 대한 캐시를 만들 :

난 당신이 다음과 같이 데이터를 반환하는 것이 좋습니다. 2) 새 이메일의 업데이트가 즉시 캐시로 프리 페치됩니다. 3) 이메일의 다음 페이지 및 이전 페이지에 대한 캐시를 설정합니다.

는 기본적으로 내가 무엇을 말하고있는 것은 :

1) 일반 스누핑 매우 보이는 구글의 웹 버전을 볼 수 있습니다. 2) 사용자가 전자 메일을 보려는 방식에 통계적으로 기반하여 최적화 할 수 있습니다. 이것은 캐시 개선을 제안 할 수 있습니다.

귀하의 질문이 많은 일반 개념 및 프롤레타리아 소프트웨어와 관련되어 있기 때문에 링크 측면에서 묻는 것은 어렵습니다.

+0

의견에 동의합니다. 많은 감사. – san

관련 문제