Closed Lancerer closed 2 years ago
上拉加载使用的是单独的viewtype方式做的,现在基于recyclerview的上拉加载都是基于这种方式实现的,我的印象中是rv是按照viewtype来复用的,但是上拉加载是一个单独的viewtype,所以不存在复用的情况。
你可以放心的,这种方式基本不用考虑内存的开销。
我的意思是他上拉加载后生成的每一个itemView好像都是一个全新的对象,这个是不是就有点奇怪了,我用的是你的demo中 StickyRvCoordinatorActivity,每个itemView里面都有一个mediaplayer,然后每次都生成一个新的对象,快速滑动的时候mediaplayer播放会出错
我觉得 你不加加载更多
的功能,就用原生的RV,也是这样的情况。
这个和列表里加"倒计时功能"同理,我觉得你应该新建一个HashMap用来存储mediaplayer,存 position和mediaplayer,如果position没有就新建一个mediaplayer然后存起来;有position就直接取mediaplayer使用,然后再离开页面的时候销毁HashMap,你也可以限制HashMap的大小保障内存开销。
而且我觉得你应该还要记录item播放视频对应的进度,等再次滑到那个item时直接定位到那个进度
解决了吗?还有问题再提哈
打扰了大佬,我发现上拉加载每次都会生成一个新的viewHolder对象,这里没有复用吗?