Android Dagger Singleton主持人

时间:2017-06-11 16:13:35

标签: android mvp dragger

@Provides
@Singleton
LoginPresenter provideLoginPresenter() {
    return new LoginPresenterImplementation();
}

我设计Android应用时的方法是MVP。我使用Dagger进行依赖注入。当我创建一个界面演示者时,我将其设为单身。

有人建议我不要单身,因为记忆力很重。

你有什么建议?像单身人士一样使用它吗?我期待亲和反对意见。

1 个答案:

答案 0 :(得分:2)

Dagger中的Singleton与创建实例并引用它相同,但有两点需要注意:

  1. 在Application类中使用单例意味着在应用程序启动时创建一个Object并将其保留在内存中直到某些API所必需的结尾,但主要是加载某些类,在活动中使用它们然后你完成它们之后必须杀死它们,因为它是内存管理的问题。

  2. 将Singleton注释添加到Application模块(在Application类中指定的主模块)时可以正常工作,但如果将它用于子模块,则需要注意保持它们的存活。

  3. 您可以查看此示例项目http://github.com/mmirhoseini/marvel和本文 https://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to-know-the-project-d3fd553b3e21更加熟悉MVP。