【问题标题】:Android Client-Server architecture: GCM versus webserviceAndroid 客户端-服务器架构:GCM 与 Web 服务
【发布时间】:2013-05-04 00:41:19
【问题描述】:

我有一个带有本地数据库的 Android 应用程序,其中包含有关存储在设备上的图片的信息。我想创建一个带有图片的服务器,可以按需提供给所有安装了我的应用程序的设备。所以我的应用程序可以提供本地图片或来自我的服务器的图片,并且还需要一些与这些图片相关的信息。

我分析了 GCM,它非常适合消息通信,但由于消息的大小限制为 4kb,我无法发送图片。我的想法是有这样的东西:

我的问题是:在这种情况下,GCM 通信有用还是只通过 Web 服务进行客户端-服务器通信会更有效?

我假设如果我使用GCM,在服务器-客户端通信中我只使用"Bitmap Fun" example中的代码来接收图片

 BitmapFactory.decodeFile(pictureURL, options);

上述方法需要更多的电池和带宽,因为我一次要求一张图片而不是一组 50 张图片? 如果我不使用 GCM,我应该处理什么(例如设备处于待机状态)?

【问题讨论】:

    标签: android performance architecture client-server google-cloud-messaging


    【解决方案1】:

    GCM 仅在服务器需要提醒客户端应用程序有关某些新数据(在您的情况下为新图片)时才有用。即使客户端应用程序未运行(或在后台运行),它也允许服务器向客户端发送数据。在这种情况下,绿线是有意义的——服务器可以通过 GCM 向客户端发送图片信息。然后,正如您在红线中指定的那样,客户端将向服务器请求图片本身。

    你用ask for pictures 标记的蓝线应该直接从客户端到服务器。客户端无法向 GCM 服务器发送请求(注册/注销 GCM 服务的请求除外)。

    如果服务器向客户端发送图片总是由客户端发起,则不需要GCM。

    此外,您可以查看this question,了解有关通过 GCM 发送图像的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多