Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android客户端/服务器应用程序的理想轮询机制/间隔_Android - Fatal编程技术网

Android客户端/服务器应用程序的理想轮询机制/间隔

Android客户端/服务器应用程序的理想轮询机制/间隔,android,Android,我计划在Android中实现一个聊天应用程序,需要做出一些与轮询服务器更新相关的设计决策: 我应该多久轮询一次新邮件?每分钟投票都是一个好的选择吗 如何支持实时聊天?如果用户发送消息,是否应每5秒进行一次轮询,如果没有收到新消息,是否应返回长轮询间隔 我还需要确保应用程序不会很快耗尽电池电量。我需要在与WhatsApp类似的线路上设计应用程序。我不知道它是如何管理轮询的,但我知道它不是一个电池杀手。轮询不是这种类型应用的答案。如果您的应用程序完全基于Android,那么您应该查看Google云消

我计划在Android中实现一个聊天应用程序,需要做出一些与轮询服务器更新相关的设计决策:

  • 我应该多久轮询一次新邮件?每分钟投票都是一个好的选择吗

  • 如何支持实时聊天?如果用户发送消息,是否应每5秒进行一次轮询,如果没有收到新消息,是否应返回长轮询间隔


  • 我还需要确保应用程序不会很快耗尽电池电量。我需要在与WhatsApp类似的线路上设计应用程序。我不知道它是如何管理轮询的,但我知道它不是一个电池杀手。

    轮询不是这种类型应用的答案。如果您的应用程序完全基于Android,那么您应该查看Google云消息传递框架()


    这允许您通过xmpp(或http ping)将消息推送到各个客户端。这样,他们几乎可以立即获得更新

    对于聊天,我会进行两种不同的轮询。 首先,如果应用程序位于后台(每分钟或类似的时间),并且如果应用程序每秒启动一次,或者可能是长时间轮询:

  • 为了避免成为电池杀手,你应该在屏幕关闭时停止循环进行轮询,或者在屏幕关闭时将间隔设置得很长
  • 也许你可以保持一个长期的连接来进行实时聊天
  • 使用是一个更好的选择
  • 你应该调查一下

    WhatsApp使用XMPP的修改版本


    以下是一个开始。

    您考虑过XMPP吗?