0

我正在实现一个轻量级架构的聊天应用程序。

我正在使用 Google Cloud Messaging 处理从服务器到 Android 客户端的通知(新消息传入、新友谊请求......)。

我有一个用户 X 可以与之交谈的人的 ListView。出于性能和稳健性的原因,当我与用户 Y 打开一个对话时,进行“新消息查找”是昂贵的。通常,所有最新消息都存储在 SQLite DB 中,并且它们可以立即使用。问题是管理传入的新消息......

那么最好的架构是什么?

  • 当新消息到达时向 android 客户端推送通知 -> 立即在服务器上查找以获取来自用户 Y 的所有新消息。

  • 但是如果通知没有到达我该怎么办?我是否需要在活动聊天生命周期中的某个时刻进行查找的服务?例如,每当聊天活动进入 onPause() 时?

  • 任何性能提示可以将消息有效地存储到 SQLite 数据库中并从服务器数据库中进行更快的查找?

4

0 回答 0