我正在使用sinch服务在Android中构建聊天应用程序,我意识到当用户卸载应用程序或清除缓存并再次登录时,将发送完整的历史记录。如果我的用户在历史记录中有1300封邮件,则会完整检索并且我的用户界面卡住了。我试图将SinchMessageListener初始化放在RXjava observable中以执行新线程中的所有操作并且它不起作用。在每次调用onMessageSent,onMessageReceived,onMessageDelivered时,UI仍然卡住了。 SDK内部的某些内容强制在UI线程
中执行侦听器我该怎么办?任何工作或想法?
答案 0 :(得分:0)
创建Sinch客户端时,会创建绑定到当前线程的Looper的“内部”回调处理程序。因此,如果您在后台创建Sinch客户端,则应解决此问题。虽然这也意味着您需要保留该线程(可能适用于所有app / Android服务生命周期),并且还调度所有事件,这些事件实际上会触发对主线程的任何UI更新
我会过滤消息,不要触发旧消息的任何ui更新。
顺便说一下,我们将消息发送30天到新设备。