应用程序/后端架构:Snapchat 故事如何加载如此之快? [关闭]

Posted

技术标签:

【中文标题】应用程序/后端架构:Snapchat 故事如何加载如此之快? [关闭]【英文标题】:App/Backend-Architecture: How do Snapchat stories load so fast? [closed] 【发布时间】:2016-05-19 03:12:27 【问题描述】:

简单的问题 - Snapchat 故事如何加载如此之快,甚至当我“跳过”一个项目时,下一个总是准备好?

Snapchat 故事是图像和视频的混合体,只要点击屏幕,下一个项目就会立即开始,无论是图像还是视频。我从未在应用程序中看到任何延迟,我想知道

他们是怎么做到的?一旦应用程序启动,他们是否会缓存所有内容(极不可能)?他们是否在您观看故事时不断预加载即将推出的项目?当我点击故事时,他们会加载所有内容吗?我不明白完美内容流背后的“魔力”。另外:后端提供什么?资源列表?

有人知道他们是怎么做到的吗? Yeti 或 Fleek 等其他应用程序几乎都在做同样的事情,以同样完美的方式执行。我是一个比较体面的 ios 开发者,但我不知道这里使用的方法。

【问题讨论】:

quora.com/What-is-the-Architecture-Behind-Snapchat 【参考方案1】:

该用例允许在应用端进行后台准备,并在后端进行缓存。

所以我会怎么做是这样的:

当应用程序成为焦点时,让后台线程找到一些指向紧随其后的故事的链接。此外,如果您接近缓存内容的末尾,请多看一些。可能有某种视觉动画,这样人们就无法在不让应用有机会加载一些数据的情况下一直播放到最后。 既然你知道接下来会发生什么,后端可以将所有内容移动到缓存中,在那里它会感觉很好而且很活泼。 SnapChat 不应该是持久的这一事实有很大帮助,因为一旦收件人看到了这些内容,您就可以将其从缓存中删除。此外,由于收件人没有编辑信息,因此您没有缓存一致性问题(实际上您可以编辑内容吗?有一段时间没看)。

【讨论】:

以上是关于应用程序/后端架构:Snapchat 故事如何加载如此之快? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS 自定义弹出过渡 - 就像在 snapchat 故事上向下滑动

UICollectionView 布局像 SnapChat?

构建像 Snapchat 这样的 Firebase 数据库

如何在 Snapchat 上的视频上添加文本

前后端分离架构

我们如何使用 ArCore 在 Flutter 中实现类似 snapchat 的过滤器