0

軽量アーキテクチャでチャット アプリケーションを実装しています。

私は Google Cloud Messaging を使用して、サーバーから Android クライアントへの通知を処理しています (新しいメッセージの着信、新しい友情のリクエストなど)。

ユーザー X が会話できる人の ListView があります。パフォーマンスと堅牢性の理由から、ユーザー Y との 1 つの会話を開いたときに「新しいメッセージのルックアップ」を作成するのはコストがかかります。通常、最新のメッセージはすべて SQLite DB に保存され、すぐに利用できます。問題は、着信する新しいメッセージを管理することです...

では、最適なアーキテクチャは何ですか?

  • 新しいメッセージが到着したときにAndroidクライアントに通知をプッシュします->サーバーをすぐに検索して、ユーザーYからすべての新しいメッセージを取得します.

  • しかし、通知が届かない場合はどうすればよいですか? アクティビティ チャット ライフサイクルの特定の時点でルックアップを行うサービスが必要ですか? たとえば、チャット アクティビティが onPause() になるたびに?

  • SQLite db にメッセージを効率的に格納し、サーバー db からのルックアップを高速化するためのパフォーマンスのヒントはありますか?

4

0 に答える 0