Closed wblzu closed 3 years ago
我这边在 iPhone6s 和 iPhone12 上测试, 都没有出现卡顿现象!! 建议在真机上跑
我也是用iPhone 12运行的。IMController的数据源更换成网络图片,不要本地图片。然后点击tableview列表中的最后一张图,由此打开photobrowser,然后向右滑动翻页,显示数据源数组头部的图片,就会看到卡顿了。
可能是 IMController tableViewCell写的有问题, 若确定是Demo的问题, 则不回复你了! 若是 photoBrowser的问题, 我这边会做修改再回复你的!
Demo写的有问题罢了!!
不是的,在项目中用也有问题。我定位到了问题。只有这样修改才能避免翻页卡顿
(void)collectionView:(UICollectionView )collectionView willDisplayCell:(UICollectionViewCell )cell forItemAtIndexPath:(NSIndexPath *)indexPath { // [cell prepareForReuse];
KNPhotoItems item = self.itemsArr[indexPath.row]; // UIImageView tempView = [self tempViewFromSourceViewWithCurrentIndex:indexPath.row]; if (item.isVideo) { KNPhotoVideoCell cell1 = (KNPhotoVideoCell )cell; // [cell1 playerWithURL:item.url placeHolder:tempView.image]; [cell1 playerWithURL:item.url placeHolder:item.sourceImage]; if (_isNeedAutoPlay == true) { [cell1 setIsNeedAutoPlay:true]; } [cell1 setPresentedMode:self.presentedMode]; } else { KNPhotoBaseCell cell1 = (KNPhotoBaseCell )cell; // [cell1 sd_ImageWithUrl:item.url placeHolder:tempView.image photoItem:item]; [cell1 sd_ImageWithUrl:item.url placeHolder:item.sourceImage photoItem:item]; [cell1 setPresentedMode:self.presentedMode]; } }
有没有考虑过 item.sourceImage 为空!
是会有这样的问题,但是这样修改之后至少它不卡了。我给你邮箱发调试视频吧,真的很卡的。
你这边别用 IMController 测试了, 用其他的Controller试试, 比如 第一个Controller, 不会出现卡顿现象
试了一下!! 你说的卡顿现象 只会在 低网速的时候 才会出现! 排查了一下原因: 是因为 根据网络图片的url 来获取 size, 这样会阻塞主线程!! 现在已经修改过了!! 更新一下新版本即可
大佬给力
我用的2.4.6版本滑动的时候也会卡,iPhone6s plus iOS11系统
在- (void)collectionView:(UICollectionView )collectionView willDisplayCell:(UICollectionViewCell )cell forItemAtIndexPath:(NSIndexPath )indexPath 方法中, UIImageView tempView = [self tempViewFromSourceViewWithCurrentIndex:indexPath.row];会导致翻页的时候卡顿