2015-06-23 99 views
2

我建立这需要显示的图像作为从服务器检索倒装视图的Android应用程序检索图像。我已经考虑两种方法安卓:从服务器

  1. 检索来自服务器的URL的图像,然后显示或
  2. 在服务器(MySQL的)数据库中存储的图像,然后从SQ-精简版的Android应用程序取回

我的问题是,考虑到一切(性能等),哪种方法会更好?

任何其他更好的办法,也欢迎:)

回答

3

这取决于你的应用程序和你要显示使用图像,如果没有更新他们经常那就更好地使用缓存更快的用户体验的产品但是如果数据是监管更新的,并且以前的数据一直在进行过滤,则始终使用网络加载。

另一种方法,你可以只存储最新的10-20项在数据库中,一旦你打开应用程序,他可以看到一些数据和新的数据被下载,这种方法可以使用户搞不离开他们你的应用程序只因为每次他们看到加载。

图像缓存目的有各种好的库avaible这对多幅图像下载和高速缓存的目的例如稳定的解决方案 UniversalImageLoaderpicassoVolley

1
  1. 你在本地存储图像,然后加载到你的应用程序从本地存储(这发生在后台线程)

  2. 您可以通过获取背景图像更新本地存储,然后触发本地存储的负载(这也发生在后台线程中)

这样你赢得了ANR的(应用程序没有响应因为互联网连接速度缓慢或缺失,您将能够在没有连接的情况下显示图像。

1

一个好的方法可以在本地对本地需求的存储图像,并将其保留在缓存中,如果在未来的影像学改变,你可以取消你的缓存并下载一个新的形象。

我曾经在一个项目中使用的库,可以帮助我很多与下载图像背景,还允许你如果以前存储或缓存失效自动加载图像从缓存中。图书馆是android-query,这里是你如何可以use它的例子。