ImageView 优化
UITableView
在滚动的时候一个优化点之一就是 UIImageView
的显示,通常需要根据网络去下载图片。所以如果用户快速滚动列表的时候,如果立马下载并显示图片的话,势必会对 UI
的刷新产生影响,直观的表现就是会卡顿,FPS
达不到 60
。
利用 RunLoop
可以实现这个效果,就是给下载并显示图片的方法指定 NSRunLoopMode
。
1 2 3 4 5 6 7 8
| - (void)clickLoadIMage:(UIButton *)sender { //[self.imageview performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"test"] afterDelay:2]; [self performSelector:@selector(downloadAndShowImage) withObject:nil afterDelay:2 inModes:@[NSDefaultRunLoopMode, UITrackingRunLoopMode]]; }
- (void)downloadAndShowImage { self.imageview.image = [UIImage imageNamed:@"test"]; }
|