Android 聊天-如何管理查找新传入到服务器的消息?

Android 聊天-如何管理查找新传入到服务器的消息?,android,sqlite,chat,google-cloud-messaging,Android,Sqlite,Chat,Google Cloud Messaging,我正在实现一个具有轻量级体系结构的聊天应用程序 我正在使用Google云消息处理从服务器到Android客户端的通知(新消息传入,新友谊请求,…) 我有一个用户X可以与之交谈的人的列表视图。出于性能和健壮性的原因,当我打开与用户Y的一次对话时,进行“新消息查找”是昂贵的。通常,所有最新消息都存储在SQLite DB中,并且可以立即使用。问题是如何管理传入的新邮件 那么什么是最好的架构 当新消息到达时,将通知推送到android客户端->立即在服务器上查找以从用户Y获取所有新消息 但是,如果通知

我正在实现一个具有轻量级体系结构的聊天应用程序

我正在使用Google云消息处理从服务器到Android客户端的通知(新消息传入,新友谊请求,…)

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

那么什么是最好的架构

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

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

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


@helldron刚刚尝试了您为更好理解而尝试的代码。您是否在我的过程中发现了一些关键问题?本质上,我认为存在性能问题(当用户打开activty时,在用户交互期间无法加载太多记录)和健壮性问题(不确定推送通知是否会到达)