使用新的 App Startup 初始化实例 API

Get instance initialized with the new App Startup API

我在 Android 开发指南中看到了这个新的 API,我想尝试一下,因为它看起来是一种非常好的初始化组件的方法。但是查看文章和示例,我想如何使用这个 API 对我来说毫无意义。我得到第一个例子,为了使用 WorkManager 你首先需要调用它的 initialize 方法,所以这个新的 API 可以为你处理。但是 Initializer returns 的 create 方法是您尝试初始化的任何实例。这意味着该实例在某个地方可供您获取。但是没有说明稍后如何在您的代码中检索该实例以使用它。

所以我的问题是,是否有人愿意测试这个新 API,能否给我一个示例,说明如何使用 App Startup API 初始化的实例你。提前致谢!

截至目前,图书馆将此留给开发人员。重点主要是为库添加一种统一的方式来自动初始化自己而无需样板代码。 如果您是使用这种方法的库的作者,您仍然有义务提供获取这些对象的方法。

编辑

我假设 AppInitializer.getInstance(context).initializeComponent(...) 仅用于创建新实例。 然而,在查看源代码后,发现实例被缓存并立即返回这里,如果它们之前已经初始化过的话。 但不利的一面是,您需要传递一个 Context 对象。

我还建议只从主线程调用它,因为没有适当的单例样式锁定