PhotoBrowser icon indicating copy to clipboard operation
PhotoBrowser copied to clipboard

大佬,每次点击都要重建好像有点浪费性能啊

Open kilent opened this issue 7 years ago • 4 comments

能省多少性能,具体数值我也不了解,只是习惯这么写: if (!pbViewController) { pbViewController = [PBViewController new]; pbViewController.pb_dataSource = self; pbViewController.pb_delegate = self; } pbViewController.pb_startPage = indexPath.item; 但是发现会有问题,只好去掉了if

kilent avatar Jan 10 '18 03:01 kilent

这个只是示例代码,是否每次新建实例,结合你的实际需求来决定。 每次新建,只要保证每次关闭后内存正确的释放,也不会有性能的浪费,参考 UIAlertController 的使用. 最后,我只是渣渣,==!

cuzv avatar Jan 10 '18 12:01 cuzv

具体来说,我想在一个页面只创建一次pbViewController,比如我上面那样的写法,但是出现了第二次及以后显示图片位置靠下的问题,而且只能上下滑动消失一次,以后就不能滑动消失了,滑动的这一次还会让图片位置变动,目前已经换回了每次显示图片都new一个pbViewController的写法,不过就使用上来说,现在这样完全可以了,等你有空了再看吧

kilent avatar Jan 11 '18 00:01 kilent

好的,大佬。

cuzv avatar Jan 11 '18 07:01 cuzv

cuzv大神,很喜欢你写的PhotoBrowser,我也和kilent有同样的顾虑,每次点击都新建的话还是有额外性能开销的,UIAlertController因为很轻,所以没有什么关系,但如果是UITableView的话往往是会reload的。 我debug了一下,发现第二次打开位置偏下的问题是因为PBViewController中_didDismiss方法中把currentScrollViewController的anchorPoint设置为(0.5, 0),但是再次present的时候没有被设置回(0.5, 0.5)。不知道我说的是否准确,衷心期待cuzv大神可以优化这个问题。

ivanz1234 avatar Mar 21 '18 17:03 ivanz1234