高速応答のAndroidアプリケーションを実装する方法

私はアンドロイド用のgmailアプリと同じようにアンドロイドアプリをやっています。私は、アプリケーションが非常に速く、非常に応答性が高いことがわかります。

私はgmailがより良いパフォーマンスのためにローカルキャッシングを使用していると確信しています。しかし、私はgmailが以下のユースケースをどのようにしているのだろうと思う。

最初にログインしてアプリがすべてのメールを読み込んで、sql liteや他のキャッシングを入れるとします。 ユースケース1 私は星を削除または追加するたびにサーバに非同期サーバreqを作成します。これは問題ありません。

ユースケース2。 ユーザーが別のクライアントから変更を加えた場合に、どのように通知されるのですか? (ブラウザから)。 メール全体をダウンロードするにはコストがかかるでしょう。ユーザーがすでにキャッシュされている電子メールにスターを追加する場合を想定します。

どのようにして、他のクライアントからの更新のみを取得するような方法でapiを実装できますか?新しい電子メール、削除された電子メール、スター追加などのような更新。ユーザーがバックグラウンド同期を使用しない場合のシナリオを検討しています。

これは長い間私を悩ませています。あなたにGmailのアプリの背後にある秘密を理解するためのチュートリアルやリンクを教えてください。

0

1 答え

なぜあなたはGmailのWebアプリケーションを見ていないのですか?それは同じ/同様のデザインプリンシパルを使用します(Gmail Webアプリも私にとって非常に速いです)。次に、同じプリンシパルを適用することができます。 Webアプリケーションを使用すると、firefoxとfirebugのようなものを使ってWebリクエストを見ることができます。 「ネット」タブの下には、ネットワークを介して送信されているもののjsonが表示されます。また、リクエストがどのように構成されたかを示します。あなたは彼らが最適にデータを返す方法を見ることができませんが、それはかなり簡単です。

私はあなたが次のことを行うデータを返すことをお勧めします:

1)最新の電子メールページ用のキャッシュを作成する。 2)新しい電子メールの更新は即座にキャッシュにプリフェッチされます。 3)電子メールの次のページと前のページのキャッシュを設定します。

基本的に私が言っていることは次のとおりです:

1)あなたは普通のスヌーピングに非常に目に見えるグーグルのウェブ版を見ることができます。 2)ユーザーが電子メールをどのように表示するかを統計的に使用して最適化することができます。これはキャッシュの改善を示唆することができます。

あなたの質問は多くの一般的な概念とproriataryソフトウェアに関連しているので、あなたはリンクの面で求めているものは難しいです。

0
追加された
あなたの意見に同意しました。どうもありがとう。
追加された 著者 san,