匕首单例预装

时间:2019-04-05 09:52:11

标签: java android kotlin singleton dagger

我想执行这样的功能:

  1. 用户打开第一个活动,而Dagger则开始初始化单例,我将在第二个活动中注入
  2. 导航到第二个活动,这里我将这个单例注入到活动中

我试图愚蠢地将此类注入第一个活动,但这似乎不是一个好的解决方案

所有必要的操作是因为我想在此单例中执行一些本地数据库请求,并且如果在活动开始后还没有准备好,可能会使用户感到困惑

1 个答案:

答案 0 :(得分:0)

如果您希望在第二个Activity开始之前依赖项可用(==“ preloaded”),则您必须在其他地方@Inject依赖此依赖项。它可以是“第一个” Activity或例如Application类。

通常,这不是最佳方法。如果您不预加载依赖项,而是在实际需要它们时加载它们,那会更好。加载一个依赖项可能导致依赖项创建的整个过程(因此,整个思想就依赖于依赖项注入了)。