当我执行此代码时,FbMediaView就像在主线程上加载广告视频,但在显示图像时它并没有冻结。我不明白为什么?
let nativeAd = self.adsManager.nextNativeAd()
let cell : AdHomeCell? = self.collectionView!.dequeueReusableCellWithReuseIdentifier("AdHomeCell", forIndexPath: indexPath) as? AdHomeCell
cell?.createForAd(nativeAd)
nativeAd?.registerViewForInteraction(cell!, withViewController: self)
return cell
我有最新的Facebook SDK(4.8.0)
答案 0 :(得分:8)
Audience Network iOS SDK在内部使用AVFoundation播放视频广告。初始化AVAsset在主线程上做了很多工作。主线程处理iOS上的所有UI更新,因此会导致可见的暂停,尤其是在加载多个视频广告时。如果不使用私有API,就无法将该工作卸载到其他线程。
我们意识到性能影响。我们正在v4.9中部署一些短期的边际改进,我们正在进行长期修复。目前,建议不要在需要高级别滚动性能的某些应用中使用视频广告。
(我是Audience Network的软件工程师,开发iOS SDK。)