我开发了一个带有 UIRefreshControl 的 RSS Feed 以刷新内容。但是每当我触发 UIRefreshControl 时,它就会非常滞后。如果我使用 Wifi,则没有延迟,但如果我使用慢速数据连接,则会出现很多延迟。
有人知道为什么会这样吗?
我开发了一个带有 UIRefreshControl 的 RSS Feed 以刷新内容。但是每当我触发 UIRefreshControl 时,它就会非常滞后。如果我使用 Wifi,则没有延迟,但如果我使用慢速数据连接,则会出现很多延迟。
有人知道为什么会这样吗?
您正在主线程中下载和解析数据。这就是它挂起的原因。永远不要在主线程上做耗时的任务,它会阻塞你的 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];
});
}