0

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

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

 [request performRequestWithHandler:

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

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

2 回答 2

1

由于 UI 是在主线程上执行的,因此您绝对需要避免在此类线程上调用任何耗时的方法。网络操作应在单独的后台线程上执行。

于 2012-12-11T06:40:47.820 回答
0

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

于 2012-12-11T05:13:45.583 回答