代码之家  ›  专栏  ›  技术社区  ›  S.P.

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

  •  0
  • S.P.  · 技术社区  · 15 年前

    我有一个iPhone应用程序,它正在使用soapweb服务。当我发送URLrequest时,应用程序正在慢点。我的应用程序是TabBarApplication.从a开始调用web服务来解析接收到的数据,我无法在UITabbarcontroller中选择选项卡。如何加快我的iPhone应用程序Tabbarcontroller被选中,即使应用程序从web服务接收到一些数据?使用NSThread是一个很好的解决方案吗?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Codo    15 年前

    无论何时访问网络,都要异步进行,可以使用单独的线程,也可以使用异步连接实例。这样,UI就保持了响应性。

    这并不是免费的:您的所有视图都需要管理状态,因为它们首先处于“数据加载”状态(当它们提交请求时),然后,当最后一段数据到达时,它们进入“数据加载”状态并需要刷新。如果请求失败,它们将进入“加载失败”状态,并显示“重试”按钮(或类似按钮)。

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

    • 它异步加载所有数据(使用NSURLConnection实例)。
    • 它使用JSON而不是SOAP,因为它更紧凑,解析速度更快。
    • 它在HTTP连接上使用压缩。