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

Adr*_*scu 7 android android-architecture-components android-jetpack

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

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

Adr*_*n K 8

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

编辑

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

我还建议仅从主线程调用它,因为没有单例式锁定