UI在iOS 6中挂起几秒钟

时间:2012-12-11 05:08:41

标签: iphone

我的应用程序大部分时间都运行良好。当我转到iOS6设备设置&gt;时出现问题。开发人员&gt; <网络链路调节器状态>启用ON&gt;选择100%损失的配置文件。当选择此配置文件时,UI会挂起并在几秒钟内无响应,然后开始正常运行。我无法找到任何原因。是否有人遇到过同样的情况?如果是,那么您采取了哪些措施?

我认为下面这段代码在尝试使用iOS 5帐户框架发布到Twitter而不使用TweetSheet时会产生麻烦。请求是TWRequest。根据Apple文档,不保证在任何固定的特定线程上调用performRequest方法。如何在主线程上调用此方法?它有帮助吗?

 [request performRequestWithHandler:

     ^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {

         if(responseData)
         {
             //Do twitter stuff
         }
 }];   

2 个答案:

答案 0 :(得分:1)

由于UI是在主线程上执行的,所以你肯定需要避免在这样的线程上调用任何耗时的方法。 网络操作应该在一个单独的后台线程上执行。

答案 1 :(得分:0)

也许您正在同步进行网络请求,而不是异步进行。在快速连接上进行测试时,您的UI似乎并不慢,但在网络状况不佳的情况下,如果在主线程上完成,同步网络可能会削弱应用程序。 Read this