这完全是一个理论问题,但我们开始吧。我正在构建一个类似于 Tinder 的应用程序,该应用程序将连续加载个人资料照片,用户可以喜欢或不喜欢。好吧,我在服务器端使用 Facebook 的 Parse,但我在加载照片时远没有达到 Tinder 的速度。在我非常初级的算法中,每次喜欢或不喜欢一个人时,应用程序都会加载一个新名字和一张新照片,这需要大约 1 或 2 秒的时间才能发生。所以,我想知道现在是否有人有更好的方法来加载一系列照片以向用户展示它们。
我正在考虑在应用启动时加载 5 张照片,当用户关闭第一张照片时,第 6 张照片将开始下载。这会给我一些时间优势,但我认为 Tinder 不是这样做的。
任何线索!?
谢谢大家!
我不完全了解 Tinder 是如何做到的,但我认为您的方向是正确的。您可以使用 Parse 的查询约束来获得您想要的行为。
你可以这样做(使用 Swift):
//When the app starts
var query = PFQuery(Classname: "YourClassName")
query.limit = 5 //Get the first five profiles
//When the user swipes away a profile
//Assuming you have stored the profiles in an array called, say, "userProfiles"
var query = PFQuery(Classname: "YourClassName")
query.skip = userProfiles.count //Skip the results already loaded
当然,您必须完成查询才能获取正确的用户。
如果您发现用户在配置文件中滑动的速度太快,您可以尝试使用 .limit
和 .skip
的值。
我不是算法专家,但我建议一个很好的起点是找出用户特定的滑动之间的平均时间,并将其与加载数据所需的平均时间进行比较.不过,我相信在编写算法方面具有更多经验的人可以为您提供更具体的答案。