Layout 用的是 CHTCollectionViewWaterfallLayout,图片都是从网络下载。 图片加载使用SDWebImage~ 最后出来的效果滑动时会有点卡。 应该还是加载图片的线程过多阻塞到UI线程了。
我试了在cellForIndex中判断当view在滑动时不去加载图片,但是最后的效果不太好,配合SDWebImage似乎会有很多图片没缓存到。 请教下大家有没有遇到过类似的问题?
万分感谢。
我再补充一点儿,就是异步图片加载要在CollectionView.dragging==NO和CollectionView.Decelerating==NO的时候。
你应该用Instrument来看到底是哪里占时间多。 我最近的一个例子,写一个Date Picker,要 tile 很多日期,iPhone5一屏有50多个,开始非常卡。因为WWDC 2013上说UIFontDescriptor的系统开销相当小,我没想是这点,后来用Instrument一看,好家伙,UIFontDescriptor的一个方法调用居然占了40%的时间,后来缓存一下生成的UIFont对象而不是每次都从UIFontDescriptor生成就好了。