关于图像存储的建议

时间:2013-08-07 15:01:44

标签: c# image-processing windows-store-apps windows-store

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

2 个答案:

答案 0 :(得分:1)

您可能希望了解YouTube对此事的评论;我确信它的开发人员API文档中有一些关于它的内容,请注意它们的首选方法。

那就是说,把它作为一般建议;当你不断查询另一个系统时,你通常想要限制你的烦恼。现在,YouTube当然不会注意到一个应用程序的负载,但它仍然是一个很好的习惯。一般来说,我更倾向于区分差异:根据视频ID缓存图像并保持X小时,因此如果用户在搜索中拉出相同的视频20次,则您没有请求缩略图20次好。

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

编辑:对,应用。移动。带宽。神圣的数据上限。我的建议更重要的是你可能想要让它缓存几天以保证安全,但是你有一个很难看到你一次保留多少个视频缩略图所以你不是该应用占用了一部8GB手机的100MB空间。

如果你想要超级用户友好,可以在某个地方设置一些内容,让人们每次都改变查询方法,或者在特定时间内缓存。

答案 1 :(得分:0)

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

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