2012-11-22 101 views
0

我正在iphone OS 6.0中開發一個hello world應用程序。每當呈現屏幕時,都會向服務器發出Web服務調用。但是,我正在同一個主線程中進行Web服務調用,而無需在單獨的線程中啓動。IPhone設備方向 - Main UI線程如何受到影響?

但是,只要我將設備旋轉到橫向模式,Web服務調用就會停止。再次,當我將設備旋轉至縱向模式時,Web服務調用即開始。

任何想法爲什麼會發生這種情況......提前致謝。

編輯 我使用iOS設備(網絡監視器)測試了應用程序。我知道設備方向並未停止網絡操作。

+0

你應該避免在UI線程上進行網絡調用。用戶界面需要這些處理週期來保持顯示的響應。這包括處理自動轉移。 – Nate

+0

是的,我知道異步網絡。但我的疑問是...每當我改變設備的方向時,主UI線程會被停止並重新啓動?或者當屏幕方向發生時UI線程的行爲如何? – Prem

+0

在Android手機操作系統中,每當方向發生時Activity都會再次呈現。 iOS的行爲是否相似?定向發生時UI線程的行爲如何? – Prem

回答

0

以下鏈接幫助我找到了解決方案。

On iOS, can you make a synchronous network request (but not on the main thread) and still get progress callbacks (on a separate, non-main thread)? http://tewha.net/2012/06/networking-using-nsurlconnection/

我明白,在iPhone,UI呈現發生在主線程。所以,我可以控制與android操作系統類似的設備方向的應用程序行爲。

此外,我不需要在異步模式下執行網絡代碼。我可以在單獨的線程中執行同步網絡操作。這解決了我的問題。

謝謝大家...