我有一个问题,我要建议(甚至是非常奇怪的!)iPhone网络性能
我正在写一个iPhone应用程序,它不要求(以URL参数)到服务器,非常开放。作为回应,iPhone收到XML。一切都很好。
现在,我期待通过测量执行特定任务所需的时间来提高我的应用程序的速度。我发现,在所有执行的任务(下载,XML解析,发送请求,处理请求,分析XML中的对象)中,下载实际的XML需要的时间最长。
现在,我的XML文件非常非常非常非常非常非常小。我主要使用它们来读取类似RSS的数据并在UITableView中显示它们。
我的应用程序工作得很好,没有什么感觉真的很慢,但现在App Store中有一个应用程序与我的应用程序非常相似,但速度更快,感觉更加“爽快”,如果你明白我的意思。它还具有从RSS提要逐一加载标题的功能。
目前我正在尝试使用我的数据的gzip压缩,但压缩只会使我的数据只有一半大小,并且它对性能没有任何真正的好处。主要的是,数据必须在被解析之前被下载。拥有数据“流”是非常酷的,数据流在解析时会被解析。这样,我可以几乎同时完成两项工作,并逐个加载标题(使用户交互性更具吸引力)。
任何人都有如何提高我的表现的想法?通过伟大的压缩技巧或完全不同的方式与服务器进行通信..所有的欢迎!
更新:将服务器的延迟和响应放在一边;我怎么能得到一个XML来源'流'到我的iPhone(下载字节的字节),并在同一时间得到解析?现在它是一个线性的下载过程 - >解析 - >显示,但它可能会变成半并行,同时下载&解析(并显示每个项目完成下载时,而不是全部加载时间在UITableView)
当你从iPhone以外的其他来源获取它时,下载如何?只是想知道,如果这是一个iPhone问题或Web服务器上的管道运行缓慢的问题,你看看这种可能性? – OhioDude 2009-06-26 13:31:41
您使用的是3G,Edge,GPRS还是Wifi? 在蜂窝网络上,请求之间的延迟可以是任何事情,最多一秒钟。这意味着您的请求甚至可能需要一秒才能到达服务器。 在wifi和蜂窝上,您需要考虑到一个糟糕的信号可能会导致大量数据包丢失,从而增加您的通信时间。 – Jasarien 2009-06-26 14:01:32
无论来源是什么(显然,网络越慢,下载时间越长),我比较的应用程序总是更快。当然,这可能是一个服务器问题(在我的方面),但数据量是微不足道的。它甚至可能是我在PHP中做的事情,使它变慢(包括在下载时间)... – Jake 2009-06-26 14:04:18