例如,在Facebook应用中,我使用我的互联网连接登录。然后我关闭应用程序,关闭互联网并关闭所有系统标签。然后,即使我的互联网连接关闭,我也看到之前加载的图像和数据仍然保留。
Facebook应用程序如何做到这一点?如果想在我的Android应用程序中实现这样的功能,我该怎么办?
答案 0 :(得分:3)
我使用'Picasso'库进行缓存,加载......来自互联网的图片:
http://square.github.io/picasso/
自动内存和磁盘缓存
Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
对于数据,您可以使用shared preferences
为小内容或本地数据库(如sqlite
答案 1 :(得分:1)
您可以缓存这些图像(在本地保存它们) - 有多种方法可以执行此操作。一些图像加载库正在执行此操作 - 或者您可以在传输层上执行此操作(例如,使用okhttp)
答案 2 :(得分:1)
有很多图像缓存库。如毕加索,排球,通用图像加载器等。请参阅这些链接。
https://github.com/nostra13/Android-Universal-Image-Loader
答案 3 :(得分:0)
只需拥有磁盘缓存,如果您打开Facebook Android应用程序并进入开源库部分,您将看到他们使用DiskLruCache。如果你检查应用程序中的Facebook App大小,它每天都在增长。您还可以使用移动数据库,例如Sqlite或Realm等。