在使用Web服务时加速iPhone应用程序

时间:2010-09-07 08:11:59

标签: iphone objective-c web-services

我有一个iPhone应用程序,它正在使用Soap Web服务。当发送URLrequest时,应用程序变慢。我的应用程序是一个TabBarApplication.From一个开始调用Web服务来解析收到的数据,我不能在UITabbarcontroller中选择Tabs。即使应用程序从Web服务接收一些数据,如何加速我的iPhone应用程序Tabbarcontroller被选中?是否使用NSThread是一个很好的解决方案?

1 个答案:

答案 0 :(得分:4)

无论何时访问网络,都可以通过使用单独的线程或使用异步NSURLConnection实例异步执行。这样,用户界面仍然具有反应性。

这不是免费的:您的所有视图都需要管理状态,因为它们最初处于“数据加载”状态(当它们提交请求时),然后,当数据最后一条数据具有时到了,他们进入“数据加载”状态,需要刷新。如果请求失败,则进入“加载失败”状态并出现“重试”按钮(或类似的东西)。

我编写了一个从远程Web服务获取所有数据的应用程序。感觉非常快,反应灵敏,可能是由于以下事实:

  • 它以异步方式加载所有数据(使用NSURLConnection实例)。
  • 它使用JSON而不是SOAP,因为它更紧凑,更快速地解析。
  • 它在HTTP连接上使用压缩。
  • 每次请求只会加载尽可能少的数据。