@Provides
@Singleton
LoginPresenter provideLoginPresenter() {
return new LoginPresenterImplementation();
}
我设计Android应用时的方法是MVP。我使用Dagger进行依赖注入。当我创建一个界面演示者时,我将其设为单身。
有人建议我不要单身,因为记忆力很重。
你有什么建议?像单身人士一样使用它吗?我期待亲和反对意见。
答案 0 :(得分:2)
Dagger中的Singleton与创建实例并引用它相同,但有两点需要注意:
在Application类中使用单例意味着在应用程序启动时创建一个Object并将其保留在内存中直到某些API所必需的结尾,但主要是加载某些类,在活动中使用它们然后你完成它们之后必须杀死它们,因为它是内存管理的问题。
将Singleton注释添加到Application模块(在Application类中指定的主模块)时可以正常工作,但如果将它用于子模块,则需要注意保持它们的存活。
您可以查看此示例项目http://github.com/mmirhoseini/marvel和本文 https://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to-know-the-project-d3fd553b3e21更加熟悉MVP。