SharedPreference 或 Sqlite 缓存与网络缓存混淆
SharedPreference or Sqlite Caching and Network Caching Confusion
在 android 和 robospice 和 picasso 等库中选择存储选项后,我有点卡在这里或者说糊涂。
- 对于持久数据,我可以使用 sharedPreference 用于原始数据类型或 Sqlite 用于关系数据,这将被删除android OS 当应用程序被卸载时。
- 对于缓存 Picasso 使用 HttpClient 缓存。
- 对于网络或 Rest 调用,像 RoboSpice 这样的库使用缓存。
我最近在我的 android 应用程序中实现并使用了所有这些,我也理解了 sharedPreference 和 Sqlite 的概念。
但是,当谈到 RoboSpice 时,我有点困惑,因为它缓存了数据,但是当应用程序被终止并再次启动时,它再次访问服务器相同的数据,而不是从缓存中使用它。
与毕加索相同的情况。
Robospice 和 Picasso 的缓存与 sharedPreference 和 Sqlite 有何不同?
他们的缓存数据存储在哪里?如果不在某些文件中,比如在设备主内存中,那么当应用程序重新启动时它们不会再次使用。
Picasso 使用 http 客户端缓存,并且只缓存静态数据,比如图像,那也是 fine.But,如果是像 robospice 这样的网络库,他们使用什么类型的缓存。它是否像 sharedPref 一样存储在某个文件中?应用重启后可以使用吗?同样在毕加索的情况下,http缓存是否会在应用程序重新启动后可用?
任何有关此主题的帮助或指南将不胜感激。
Shared Preferences 和 Sqlite 恰好与 HTTP 缓存非常不同。您使用前两个在应用程序会话之间保留数据。
如果您希望可以通过网络获取数据并将其保存到共享首选项或 sqlite,那么您将在这些层之上创建自己的缓存系统。但是,当您这样做时,您将无视 Web 应用程序或 HTTP 服务器的意愿。
另一方面,如果内容已过期,HTTP 客户端库必然会与 Web 服务器核对,如果是动态生成的内容,Web 服务器很可能会告诉它内容确实已过期已到期。所以他们别无选择,只能重新获取数据。
在 android 和 robospice 和 picasso 等库中选择存储选项后,我有点卡在这里或者说糊涂。
- 对于持久数据,我可以使用 sharedPreference 用于原始数据类型或 Sqlite 用于关系数据,这将被删除android OS 当应用程序被卸载时。
- 对于缓存 Picasso 使用 HttpClient 缓存。
- 对于网络或 Rest 调用,像 RoboSpice 这样的库使用缓存。
我最近在我的 android 应用程序中实现并使用了所有这些,我也理解了 sharedPreference 和 Sqlite 的概念。
但是,当谈到 RoboSpice 时,我有点困惑,因为它缓存了数据,但是当应用程序被终止并再次启动时,它再次访问服务器相同的数据,而不是从缓存中使用它。
与毕加索相同的情况。
Robospice 和 Picasso 的缓存与 sharedPreference 和 Sqlite 有何不同?
他们的缓存数据存储在哪里?如果不在某些文件中,比如在设备主内存中,那么当应用程序重新启动时它们不会再次使用。
Picasso 使用 http 客户端缓存,并且只缓存静态数据,比如图像,那也是 fine.But,如果是像 robospice 这样的网络库,他们使用什么类型的缓存。它是否像 sharedPref 一样存储在某个文件中?应用重启后可以使用吗?同样在毕加索的情况下,http缓存是否会在应用程序重新启动后可用?
任何有关此主题的帮助或指南将不胜感激。
Shared Preferences 和 Sqlite 恰好与 HTTP 缓存非常不同。您使用前两个在应用程序会话之间保留数据。
如果您希望可以通过网络获取数据并将其保存到共享首选项或 sqlite,那么您将在这些层之上创建自己的缓存系统。但是,当您这样做时,您将无视 Web 应用程序或 HTTP 服务器的意愿。
另一方面,如果内容已过期,HTTP 客户端库必然会与 Web 服务器核对,如果是动态生成的内容,Web 服务器很可能会告诉它内容确实已过期已到期。所以他们别无选择,只能重新获取数据。