Xmpp 有必要(甚至可能)明确地结束聊天吗?

Xmpp 有必要(甚至可能)明确地结束聊天吗?,xmpp,chat,smack,Xmpp,Chat,Smack,使用Smack库打开XMPP聊天室后,是否有必要(甚至可能)显式关闭聊天室?如果使用Smack API,则无需关闭聊天室。当您注销或关闭连接时,它将自动关闭。您只需删除自己对它的引用,它最终将自行消失。它只被ChatManager中的弱引用持有,因此它最终会被GC'ed 不过,如果您不想在聊天类等待GC’ed时再收到任何聊天消息,您可能也应该删除侦听器。在协议方面,您可以实现(聊天状态通知),让对方知道您已关闭聊天 <message from='juliet@capulet.co

使用Smack库打开XMPP聊天室后,是否有必要(甚至可能)显式关闭聊天室?

如果使用Smack API,则无需关闭聊天室。当您注销或关闭连接时,它将自动关闭。

您只需删除自己对它的引用,它最终将自行消失。它只被ChatManager中的弱引用持有,因此它最终会被GC'ed


不过,如果您不想在聊天类等待GC’ed时再收到任何聊天消息,您可能也应该删除侦听器。

在协议方面,您可以实现(聊天状态通知),让对方知道您已关闭聊天

<message 
    from='juliet@capulet.com/balcony'
    to='romeo@shakespeare.lit/orchard'
    type='chat'>
  <thread>act2scene2chat1</thread>
  <gone xmlns='http://jabber.org/protocol/chatstates'/>
</message>

Act2场景2聊天室1

我有一个侧面板,显示所有打开的聊天记录。它允许用户删除任何打开的聊天记录。如果关闭连接,则所有打开的聊天记录都会消失,而不仅仅是被删除的聊天记录。我也翻了翻,似乎没有办法明确地破坏聊天,因为垃圾收集可能需要很长时间来收集对象。

请遵循此操作,因为目前无法关闭聊天。 但由于这已被报告并承认,它可以在下一版本中修复