在没有互联网连接的情况下进入应用程序后,facebook 或 instagram 应用程序如何保留图像或数据?

How does facebook or instagram app retain images or data after entering the app with no internet connection?

例如,在 Facebook 应用程序中,我使用互联网连接登录。然后我关闭应用程序,关闭互联网并关闭所有系统选项卡。然后即使我的互联网连接已关闭,我仍然看到之前加载的图像和数据仍然保留。

Facebook 应用程序如何做到这一点?如果想在我的 Android 应用程序中实现这样的功能,我应该怎么做?

您可以缓存这些图像(将它们保存在本地)- 有多种方法可以做到这一点。一些图像加载库正在执行此操作 - 或者您可以在传输层上执行此操作(例如使用 okhttp)

我使用 'Picasso' 库来缓存、加载...来自互联网的图像:

http://square.github.io/picasso/

Automatic memory and disk caching

Picasso.with(context)
   .load(url)
   .resize(50, 50)
   .centerCrop()
   .into(imageView)

对于数据,您可以使用 shared preferences 存储数据(对于小东西)或像 sqlite

这样的本地数据库

图片缓存库太多了。比如Picasso,Volley,Universal image loader等等on.Refer这些链接。

https://github.com/nostra13/Android-Universal-Image-Loader

https://developer.android.com/training/volley/request.html

http://square.github.io/picasso/

只是他们有磁盘缓存,如果你打开 Facebook Android 应用程序并转到开源库部分你会看到他们使用 DiskLruCache . And if you check Facebook App size in Applications its growing everyday. Also you can use mobile database like Sqlite or Realm