我有一個問題,我要建議(甚至是非常奇怪的!)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