如果将FormsAppCompatActivity.OnCreate(Bundle bundle)
标记为异步是一个问题,我是否会遇到问题?我必须从AWS DynamoDB获取用户特定的数据,我需要先从Akavache缓存中检索用户,然后才能使用userId进行查询。当然,我也可以将userId保存到本地设置或序列化整个用户对象,以便能够同步检索它。
我也不希望在启动期间出现性能问题,因为缓存使用SQLite肯定存在。唯一的问题是我等待Akavache的GetObject<T>(string key)
,因此,将所有内容标记为OnCreate
async,或者我订阅返回的Observable,以下方法将尝试查询用户没有有效userId的数据,因为Observable还没有返回。
答案 0 :(得分:1)
由于您正在使用XF进行开发,LoadApplication(new App());
的{{1}}中的代码OnCreate
会将生命周期事件挂钩到PCL中的MainActivity
生命周期事件。
您没有发布任何代码,我猜您在App
之后放置了数据提取代码,然后正如您所说它还没有返回,否则行为应该是不同的。
我建议您在PCL的LoadApplication(new App());
OnStart()
中调用您的任务,并使用DependencyService调用异步任务从PCL获取数据。