2012-11-22 33 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操作系统类似的设备方向的应用程序行为。

此外,我不需要在异步模式下执行网络代码。我可以在单独的线程中执行同步网络操作。这解决了我的问题。

谢谢大家...