1

我开发了一个带有 UIRefreshControl 的 RSS Feed 以刷新内容。但是每当我触发 UIRefreshControl 时,它就会非常滞后。如果我使用 Wifi,则没有延迟,但如果我使用慢速数据连接,则会出现很多延迟。

有人知道为什么会这样吗?

4

1 回答 1

1

您正在主线程中下载和解析数据。这就是它挂起的原因。永远不要在主线程上做耗时的任务,它会阻塞你的 UI。

改变你的:

-(void) refreshInvoked:(id)sender forState:(UIControlState)state
{
    [self reloadFeed];
}

像:

-(void) refreshInvoked:(id)sender forState:(UIControlState)state
{
    dispatch_async(dispatch_queue_create("midhun", NULL), ^{
         [self reloadFeed];
    });
}
于 2012-12-27T09:47:38.493 回答