初衷
本人曾经是一名Android开发,现闲散在家过着收租的日子。每天跑跑步、做做饭、看看快手偶尔会写写代码。19年目标是充实自己,做一些有意义的事情。不要把大好的青春浪费在某手和某音上。不过这两款APP细节很多,优化的很不错。所以19年第一件事儿就是仿这两款APP填充生活,找点乐子。 项目直通车,目前只简简单单的完成了某音和某手的播放效果。
整体介绍
这个logo就这么着吧(会侵权吗?无所谓,到时候我再换),gif有点卡看官老爷多多包含。
项目跑起来,点击对应的文字跳到对应的页面,要不然3秒后就随机挑了。就是这么随意。

抖字页

手字页

项目目录结构

抖字页和手字页细节以及对两个APP粗浅分析
- 某手APP启动时间(一加5T)
Displayed com.smile.gifmaker/com.yxcorp.gifshow.HomeActivity: +2s126ms (total +2m50s592ms)
Displayed com.smile.gifmaker/com.yxcorp.gifshow.detail.PhotoDetailActivity: +707ms
Displayed com.smile.gifmaker/com.yxcorp.plugin.live.LivePlayActivity: +853ms
某手APP冷启动的时间比某音APP好点。
包体积63M,接入了多家推送,其实应该把推送做成插件化比较好。
有几个重复功能的SDK(猜测)
PS:当初刚玩快手那时候,其实就是看视频,到现在APP这么多功能,其实还是看视频。
- 某音APP启动时间(一加5T)
Displayed com.ss.android.ugc.aweme/.main.MainActivity: +3s408ms (total +5s522ms)
Displayed com.ss.android.ugc.aweme/.detail.ui.DetailActivity: +383ms
某音APP的闪屏页和主页从日志上来看应该是一个页面,冷启动的时间真的是很长。
不咋喜欢看某音,也没仔细分析
- 手字页播放
- activity跳转共享元素
- 当手势向下滑动,播放器跟随手势滑动(某手竖屏视频和横屏视频不不一样,不过目前都按照横屏的效果来了)
- 视频预加载,达到秒开效果(当然其实我并没有调用预加载,彪悍的人生不需要解释)
- 抖字页播放
- ViewPager承载三个Fragment
- 中间Fragment主要是一个RecyclerView来实现视频切换
- 懒得弄封面图,直接把播放器做成多例,让播放器预加载,当然得注意回收播放器。
- 某音没咋看过,大概齐先这样,效果还凑乎。
未来规划
这个项目会持续迭代,两个目标APP有太多的细节,会挑有趣的细节完成下。最近准备完成视频的后台,不能总是随便拿个视频地址来糊弄。对了宝宝其实会点点golang。 闲赋在家,不能和时代脱节,也不知道会不会有人看到这个垃圾项目,其实我倒是满希望多些人,来完善这个项目。啥都不求,但求一乐儿。