0

我目前正在开发一个可以浏览(以及更多内容,但这不相关)youtube 列表的应用程序。现在,每当我收到视频时,我都会显示它的相应图像并将其显示在列表视图(或网格视图,同样不相关)中。现在这是一个难题:下载后将图像存储在本地是否更好,或者我们每次希望它们显示时都下载它们,即:
this._image = new BitmapImage(new Uri("http://domain.com/content/someImage.jpg"));

4

2 回答 2

1

您可能会想看看 YouTube 对此事的看法;我确信它在其开发人员 API 文档中对此有所了解,以说明他们首选的方法。

也就是说,将此作为一般建议;当您不断查询另一个系统时,您通常希望限制自己的烦人程度。现在,YouTube 不会注意到一个应用程序的负载,当然,但这仍然是一个好习惯。一般来说,我更愿意将差异分开:根据视频 ID 缓存图像并将其保存 X 小时,因此如果用户在搜索中拉出相同的视频 20 次,您不会请求缩略图 20 次出色地。

这样,您可以通过每天或每两天更新图像来保持结果的相关性(假设他们再次搜索视频)。

编辑:对,应用程序。移动的。带宽。可怕的数据上限。然后我的建议更重要,您可能希望将其缓存几天以确保安全,但对您一次保留多少个视频缩略图有一个硬上限,这样您就不会占用 100MB 空间的应用程序在某个人的 8GB 手机上。

如果您想超级用户友好,请在设置中的某处放置一些东西,让人们每次更改查询方法,或缓存特定时间。

于 2013-08-07T15:08:34.930 回答
0

这实际上取决于您的使用模式。正确的术语是在本地“缓存”图像“或”每次要显示图像时从服务器获取。如果用户体验比显示 youtube 视频的最新图像快照具有更高的优先级(对于同一视频,这很可能不会改变) - 然后在本地缓存图像,并设置一个过期时间。这将有助于获得更快的用户体验并节省一些网络带宽。过期缓存将确保您不会用太多不必要的图像填充设备上的内存,并且随着图像变旧,它们的相关性会降低并被删除,您可以获取新的图像。

缓存策略(您确定图像何时不重要以及应该保留多长时间的方式)将是一个有趣的问题,并且可能对用户体验产生重大影响

于 2013-08-07T15:10:58.160 回答