2011-02-07 48 views
1

我们正在计划一个项目。基本上我们有很多坐在我们服务器上的宁静服务。这些宁静的服务将返回XML作为数据类型。如何提高Android/iOS /等使用Web服务的性能?

我们将在各种移动平台上构建应用程序,例如Adroid/iOS /可能的其他平台。应用程序可能需要频繁地调用那些宁静的服务。

由于我们处于规划阶段,我想知道这里有没有人对不同的移动平台的性能有所了解。例如,在移动平台上,我们假设我们需要以非常有效的方式返回数据。我们可以针对特定移动平台以不同方式压缩数或者在享受宁静服务时需要关注这些移动平台的其他可能差异?

回答

0

我不会太担心这个提前。试着保持数据结构合理高效,如果遇到可衡量的问题,那么可以在当时进行优化。整个性能应该在不同的平台上类似。

请参阅此Android文章designing for performance。它提供了一个很好的概述。

0

当创建这样的系统时,很容易理解最大限度地完成服务器上完成的工作,以便尽量减少每个客户端设备必须完成的工作量。这不一定是正确的路要走。

一般来说,智能手机比程序员倾向于给他们带来的功能更强大,而且 - 像大部分时间都呆在那里的个人电脑 - 他们的处理能力可能被利用不足。只要你以一种基本理智的方式进行编码,智能手机可以快速解析大量的XML(当然,这取决于你的“大”的想法 - 例如,我从个人经验中知道,一个蹩脚的3岁黑莓手机可以只需几秒钟即可解析5 MB XML文档,但您可能认为5 MB很小)。

如果您为了减轻设备上的工作量而在服务器上做额外工作的路上走得太远,最好在利用设备功耗的同时过载服务器。压缩从Web服务返回的数据以减少正在传输内容的整体大小确实是有意义的,但是那样会建议不首先使用XML。

0

最糟糕的问题是有效负载本身:XML太臃肿。每个非空标签需要2 * N + 5个字符。这是解析和传输的痛苦。更好的是JSON有效载荷。如果您无法更改生产者,请创建一个façade进行转换。

1

使用JSON数据格式。

它在您的服务器上生成速度更快,通过网络传输速度更快,并且可以更快地解析和使用设备。