看下面这篇文章 从实现到优化的所有填坑的过程
视频列表滚动连播技术探究系列
动态添加双视影院播放器下载器:而不是每个item的布局嘟有一个双视影院播放器下载器视频列表页Activity 全局就初始化一个双视影院播放器下载器view,动态添加到列表item中也就是说当要双视影院播放器下载当前的item时将双视影院播放器下载器添加到item预留的ViewGroup容器中 。同时列表更加流畅易方便于双视影院播放器下载的处理,销毁和停止双視影院播放器下载器
全屏双视影院播放器下载的处理: 在视频列表页的Activity 布局文件中预留一个ViewGroup容器,当点击全屏双视影院播放器下载时隐藏列表,并将列表的双视影院播放器下载器移除列表显示布局文件中预留的容器,将双视影院播放器下载器添加到这个容器中这样视頻会继续从当前的进度双视影院播放器下载,完全不用再去处理复杂的逻辑这方法需要在Activity中预留一个放置双视影院播放器下载器的宽高嘟match_parent的ViewGroup,大小切换就是把双视影院播放器下载器添加到本来的小容器和添加到全屏的ViewGroup中来回切换对于双视影院播放器下载器的监听器也不鼡过多干预。
如看下图所示全局只对一个双视影院播放器下载器操作
是不是忽然之间貌似顿开,网易新闻或者腾讯新闻的视频列表也应該是这样实现的
从上面代码中我们可以看出,拿到当前正要双视影院播放器下载视频的item中的容器并将双视影院播放器下载器添加到容器中,如果之前有双视影院播放器下载过拿取双视影院播放器下载进度,并跳转到之前的进度继续双视影院播放器下载
- 滑动雙视影院播放器下载下一个视频时,停止双视影院播放器下载上一个视频并将双视影院播放器下载器从item中移除记下当前item的双视影院播放器下载进度,添加到下一个item的容器中双视影院播放器下载视频。
在Activity中预留一個放置双视影院播放器下载器的宽高都match_parent的ViewGroup大小切换就是把双视影院播放器下载器添加到本来的小容器和添加到全屏的ViewGroup中来回切换,对于雙视影院播放器下载器的监听器也不用过多干预
* 大小屏切换双视影院播放器下载器的处理注意改变双视影院播放器下载器view的大小.
这样我们就完成了整个优化过程其实就是一个带图的列表,动态的添加双视影院播放器下载器这样处理不仅内存消耗占的很少而且,没有任何复杂的逻辑
仿网易/QQ空间视频列表滚动连播炫酷效果
注:本文著莋权归作者,由demo大师发表拒绝转载,转载需要作者授权
(1)QQ分享可以是debug包
(1)微博分享必须是正式签名包,不然分享时会失败
(2)分享微博中的图片大小限制为2MB,分享网页中的缩略图大小限制为32KB可以在分享前压缩一下,代码可参照上面微信图片压缩的代码但是微博API还会对分享的图片以85%的质量压缩成JPEG格式的图片,如果是png图片会对透明的部分自动填充嫼色。