iPhone:触发 API 调用和解析 JSON 的最快方法?
我目前有一个 UITableViewController,它解析使用 ASIHTTPRequest 异步触发的 JSON 响应(使用 TouchJSON)。
我非常关心我的应用程序的性能。平均而言,10 个 API 调用中有 6 个会导致请求超时,以及触发 API 调用和解析 20 个对象(每个对象大约有 10 个属性)的 API 调用的总时间..大约需要 8-9 秒。
我可以做什么来加速/简化这个过程?我应该考虑什么方法/库来将时间缩短到 2 秒或更短?
I currently have a UITableViewController that parses a JSON response (using TouchJSON) fired asynchronously using an ASIHTTPRequest.
I'm very concerned with the performance of my application.. 6 out of 10 API calls on average would lead to request timeouts and the combined time to fire an API call and parse an API call for 20 objects (each with about 10 attributes) ..takes around 8-9 seconds.
What can I do to speed up/streamline this process? Any methods / libraries I should be looking at to strip down the time to 2 seconds or less?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是并行还是串行触发请求?您可以使用
ASINetworkQueue
简化发送大量请求的过程,并且可以报告整体进度(这可能会让 8-9 秒感觉更好)。但队列可能会比并行触发所有请求花费更长的时间。您必须使用 request.userInfo 字典为每个请求提供一些上下文,以便您的 requestDidFinish 回调可以区分响应。
不过,我是 ASIHTTPRequest 的忠实粉丝,我认为您不会找到更好的东西。
Are you firing the requests in parallel or serially? You can simplify sending lots of requests by using
ASINetworkQueue
, and you can report progress on the whole (which might make the 8-9 seconds feel better).But the queue will likely take longer than firing all of the requests in parallel. You'll have to use the
request.userInfo
dictionary to provide some context for each request so that yourrequestDidFinish
callback can distinguish between the responses.I'm a big fan of ASIHTTPRequest though, I don't think you'll find anything much better.