-1

FormsAppCompatActivity.OnCreate(Bundle bundle)如果标记为异步有问题,我会遇到问题?我必须从 AWS DynamoDB 获取特定于用户的数据,并且我需要先从 Akavache 缓存中检索用户才能使用 userId 进行查询。当然,我也可以将 userId 保存到本地设置或序列化整个用户对象以便能够同步检索它。

我也不希望在启动期间出现性能问题,因为缓存使用 SQLite 肯定存在。唯一的问题是,要么我等待 Akavache GetObject<T>(string key),因此将所有内容标记OnCreate为异步,要么订阅返回的 Observable,以下方法将尝试在没有有效 userId 的情况下查询用户数据,因为 Observable 尚未返回.

4

1 回答 1

1

由于您使用 XF 进行开发,因此LoadApplication(new App());OnCreate的代码MainActivity会将生命周期事件挂钩到AppPCL 中的生命周期事件。

您没有发布任何代码,我猜您将代码用于数据提取之后LoadApplication(new App());,然后正如您所说它还没有返回,否则行为应该不同。

我建议您在 PCL 中调用您的任务,OnStart()App一起使用DependencyService调用您的异步任务以从 PCL 获取数据。

于 2017-08-08T06:13:04.767 回答