我正在构建一个Android应用程序,它需要将图像显示为将从服务器检索的翻转视图。我考虑了两种方法
我的问题是,考虑到所有方面(性能等),哪种方法会更好?
也欢迎任何其他更好的方法:)
答案 0 :(得分:3)
这取决于您要使用图像显示的应用程序和产品,如果它们不经常更新,那么最好使用缓存来获得更快的用户体验,但如果数据是监管更新的,之前的数据会被过滤,那么总是使用网络加载。
您可以在数据库中存储最新的10-20个条目的另一种方法,一旦打开应用程序,他就可以看到一些数据和新数据被下载,这种方法可以让用户参与,不要将它们留给您的应用程序只是因为他们每次都看到装货。
对于图像缓存目的,可以使用各种好的库,这些库是用于多个图像下载以及缓存目的的稳定解决方案。 UniversalImageLoader,picasso,Volley
答案 1 :(得分:1)
您在本地存储图像并从本地存储加载到您的应用程序(这在后台线程中发生)
您可以在需要时通过在后台获取图像来更新本地存储,然后从本地存储中触发加载(这也发生在后台线程中)
通过这种方式,您因为互联网连接缓慢或丢失而无法获得ANR(应用程序无响应),并且您将能够在没有连接的情况下显示图像。
答案 2 :(得分:1)
一种好的方法可以是按需本地存储本地图像,并将其保留在缓存中,如果图像将来发生变化,您可以使缓存无效并下载新图像。
我在一个项目中使用了一个库,可以帮助我在后台下载图像,如果先前存储或者使缓存无效,还允许您自动从缓存加载图像。该库是android-query,以下是use的示例。