2011年2月16日 星期三

Improve data upload speed on iPhone (for using ASIHTTPRequest)

在先前的文章就曾經介紹過使用在先前的文章就曾經介紹過使用ASIHTTPRequest來開發iOS上的HTTP通訊應用。它也的確讓coding變得比較簡單容易。不過,最近在實務上,卻碰到一個問題,就是當上傳大檔案或大量資料時,傳輸速率似乎不是很理想。經過一番股溝之後,發現在ASIHTTPRequest本身的API中,有相關設定可以改善。那就是透過static method
[ASIHTTPRequest setShouldThrottleBandwidthForWWAN:YES]
,來對流量作限制。事實上,該method的原意,似乎是在3G/GPRS網路下作流量管控的,不過API的說明也提到,對於大資料的上下傳也會有速度改善的效果。

但是,在不是很嚴謹的測試之後,發現該method的效果在大資料上傳才會比較明顯。對於下載,似乎不但沒有改善的效果,反而會減慢。而API文件也提到,使用該API應該盡量在需要的情況在開啟,否則平時應該是要設定在NO的狀態。但是,由於該method的設定效果是針對整個ASIHTTPRequest的,而非針對單一request物件,因此在不需要的情況下,必須明確的使用
[ASIHTTPRequest setShouldThrottleBandwidthForWWAN:NO]
來關閉功能。

沒有留言: