我正在开发一个简单的(目前只与IOS兼容的)应用程序,它接收数据库并从中存储信息。现在,每当我导航到菜单时,我都会通过ESB发送请求以获取我需要在菜单中显示的数据。这意味着,如果我导航到另一个菜单,然后返回到前一个菜单,我会向ESB发送一个新请求。我确实有一种方法来检查文件是否小于12小时,以减少互联网流量。
我想知道是否有办法在应用启动期间一次加载所有菜单,并使用某种属性或方法在菜单之间切换。这会延长启动时间,但之后可以更好,更快地使用应用程序。
任何建议都是值得欢迎的。
答案 0 :(得分:0)
您可以使用像Akavache这样的库:https://github.com/akavache/Akavache
这样您就可以缓存进来的数据,并在下次显示菜单时重复使用它。 在你的情况下,你可以选择Akavache的这种方法:
IObservable<T> GetOrFetchObject<T>(string key, Func<Task<T>> fetchFunc, DateTimeOffset? absoluteExpiration = null);
如果可用,它将立即返回您的数据,否则将获取数据。