seven332 / Nimingban

[DEPRECATED] A Nimingban Client
Apache License 2.0
309 stars 51 forks source link

更高级的图片 cdn 选择策略 #87

Open seven332 opened 7 years ago

seven332 commented 7 years ago

目前的图片 cdn 是通过 api 获取的,但是效果奇差,存在图片加载速度慢,某些缩略图缺失等问题。而芦苇岛似乎使用的是一个默认 cdn,且效果非常好,加载速度快,也未发现图片缺失的问题,但这个 cdn 并不在通过 api 获取的 cdn 列表里。三酱建议我继续通过 api 获取 cdn,并称芦苇岛所使用的那个 cdn 有问题,需要维护。这让我感到很疑惑,到底是理论与实际存在巨大差异,还是诸多用户与我使用的网络运营商是个特例,还是存在某些交易。既然他没细说我也不好多问。 总之完全依赖 api 获取 cdn 并不是一个好主意,完全不依赖 api 似乎也不可取,比较好的方法是通过使用情况判断。 首先分别从 a 岛的 api 与 nimingban 的 api 获取 cdn,再通过每个 cdn 下载图片的速率对 cdn 进行评估,同时每次通过评估结果选择 cdn。

seven332 commented 7 years ago

对于图片加载模块,我打算弃用自己写的那一套,改用 fresco。fresco 有多 uri 支持,可以依照评估结果排列 uri 顺序。