Objective c 为什么在IPhone中从服务器发送和接收JSON数据如此缓慢?

Objective c 为什么在IPhone中从服务器发送和接收JSON数据如此缓慢?,objective-c,ios,json,performance,Objective C,Ios,Json,Performance,我现在正在为一个网站制作一个移动客户端。我的应用程序和服务器之间的信息交换是JSON(在服务器上搜索用户和数据、发送消息、会话线程等),但所有这些功能都太慢了。我点击“发送”按钮,然后等待几秒钟,然后发送消息,搜索、授权等也是如此。因此我有这样的问题: 一,。为什么这样的性能开销? 二,。这可能是服务器端的问题,或者是JSON解析器的问题,或者是其他问题? 三,。如何修复/优化此问题?所有的解决方案、建议等都会有帮助 我可以为您节省一些时间-这与JSON无关。这和你们的应用程序通常如何处理请求有

我现在正在为一个网站制作一个移动客户端。我的应用程序和服务器之间的信息交换是JSON(在服务器上搜索用户和数据、发送消息、会话线程等),但所有这些功能都太慢了。我点击“发送”按钮,然后等待几秒钟,然后发送消息,搜索、授权等也是如此。因此我有这样的问题: 一,。为什么这样的性能开销? 二,。这可能是服务器端的问题,或者是JSON解析器的问题,或者是其他问题?
三,。如何修复/优化此问题?所有的解决方案、建议等都会有帮助

我可以为您节省一些时间-这与JSON无关。这和你们的应用程序通常如何处理请求有关。显然,它需要在服务器上进行优化

编辑:

我想这也可能是因为你可能在手机上遇到了很高的延迟,但同样,这与你的应用程序无关

使用常规浏览器和chrome开发工具(在“网络”选项卡中)对其进行调试-您将看到,即使在桌面上,请求也需要很长时间,此时您必须开始在服务器端代码中搜索,以了解是什么使其变慢(提示:未优化的数据库查询是一个很大的瓶颈……但是,糟糕的硬件也是如此)

很抱歉,我无法提供更多帮助,但在没有看到服务器的整个设置和缓慢运行的代码(不是客户端请求,而是服务器代码)的情况下,我只能做到这一点


祝你好运。

我会使用Xcode调试应用程序,看看大部分时间是从服务器加载数据还是在收到数据后解析JSON

如果是第一次,请尝试通过相同的无线连接从PC加载数据,并查看其速度是否也很慢。如果是这样,显然您的服务器端代码需要优化

如果是第二个,并且解析速度很慢,您可能希望研究使用而不是本机JSON解析器,因为测试表明它更快。您可能还想查看JSON的结构


但我注意到的一点是,我的iPad上的连接速度比其他机器上的慢。当我将在模拟器中开发的应用程序与同一网络上的设备上开发的应用程序进行比较时,以及在进行速度测试时,我注意到了这一点。至于为什么会发生这种情况,我不确定——也许是iOS中某种形式的额外开销

@MichaelDautermann谢谢。我真的忘记了这样一件事:)stackoverflow的新手。所以选择JSON解析器对此毫无意义?我需要看看服务器端?@Adam这似乎更像是一个评论,而不是一个官方的“答案”。你能把你的评论说得更像是一个答案吗?我不认为这完全是真的。我已经创建了一个从服务器加载JSON数据的iPad应用程序。在模拟器中进行测试时,它几乎会立即返回,而在设备本身上进行测试则需要几秒钟。两者都连接到同一无线网络。我还发现,在相同的连接条件下,在iPad上进行速度测试的速度比在台式机上要低。至于为什么会发生这种情况,我不确定。谢谢你的回答。但是“我使用Github的SBJson解析器,而不是原生JSON解析器”——这是查看JSONKit的更多理由——测试表明,与SBJson(以前称为“JSON框架”)相比,JSONKit的解析速度快4倍,序列化速度快10倍。有关更多信息,请参见上面github链接上的自述。