1

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

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

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

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

 BitmapFactory.decodeFile(pictureURL, options);

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

4

1 回答 1

0

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

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

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

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

于 2013-05-09T14:15:32.070 回答