-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[videos in tableview]上下快速滚动时,出现复用 #17
Comments
复用是为了降低内存消耗,以及加快帧率用的,否则滑动会非常卡。 |
对了,补充一下,你看到的红色的View其实只是Cover View,这个可以是任意View的,例如UIImageView,是视频的封面。 |
我之前没有表述清楚,我这边不应该说复用。 问题应该是,在复用的时候,会出现 cell 里显示的视频内容重复,在 prepare 的时候,不会马上播放,这里可能需要先隐藏下 CTVideoView。具体可以看下这个视频 |
我看了一下视频,然后自己尝试复现了一下,并没有复现出来,初步判断感觉是网速问题? 我想问一下你这边复现几率有多大?以及复现步骤? 发自我的 iPhone 在 2016年10月13日,09:45,George Shen <notifications@github.commailto:notifications@github.com> 写道: 我之前没有表述清楚,我这边不应该说复用。 问题应该是,在复用的时候,会出现 cell 里显示的视频内容重复,在 prepare 的时候,不会马上播放,这里可能需要先隐藏下 CTVideoView。具体可以看下这个视频 http://weibo.com/p/230444d08218d1308aed2cc1209b64c5213d46 — |
复现的步骤是:进入列表页之后,等到最上面的两个视频中任意一个快要准备好播放时,向下滑动。 复现概率不确定。 |
??我没复现出来…可以写一个能复现bug的test case然后给个pull request我么…我断断续续快速滑了好几次,都没看到你视频上发生的场景…你是在慢网络下测试的么? 发自我的 iPhone 在 2016年10月13日,12:20,George Shen <notifications@github.commailto:notifications@github.com> 写道: 复现的步骤是:进入列表页之后,等到最上面的两个视频中任意一个快要准备好播放时,向下滑动。 复现概率不确定。 ― |
已经在Demo中修复了,在demo中添加willDisplayCell的delegate方法,然后prepare就好了。CTVideoView本身的代码跟这个bug是无关的,我demo没写好。 |
感谢! |
刚刚又测试了下,问题还存在。暂时还没找到 100% 复现的方法,但是不断上下滑动过程中,会有三四成可能性出现。 |
诶?我也再看看,我改过之后测试时,已经并没有复现了~ |
我写得那个 test case 不能复现问题了,暂时需要手动。 |
那能够提供一个新的test case么? |
已发 PR,如果没有出现的话,建议拖动几次看下,或者退出再进入,我这边基本上必现了。 |
我已经合并PR了,重现之后我会重新开启这个issue |
我发现了这个问题,经过调试发现:与库的本身是没问题的,是因为第一次tableView,DataSource刷新的时候,会willdisplaycell 最多15次(DataSource count > 15),tableView重用原理就是一个队列,当将要显示下个cell的时候就会从队列里取最后一个, 因为有可能最后一个是已经prepare的,显示的是其他的视频帧,如果网速不好的情况下就很明显,解决方案就是在didEndDisplayingCell中去移除掉prepare |
No description provided.
The text was updated successfully, but these errors were encountered: