Я прочитал много сообщений и руководств о кинжале 2:
http://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/
https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2
http://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/
https://github.com/konmik/konmik.github.io/wiki/Snorkeling-with-Dagger-2
Что определяет жизненный цикл компонента (графа объектов) в кинжале 2?
и др.
Но я все еще запутался в жизненном цикле компонента и как он относится к модулю и сфере видимости. Я хочу, чтобы я не создавал несколько экземпляров объекта, когда мне нужен только Singleton. Надеюсь, кто-то может пролить свет на них:
Каков жизненный цикл компонента, встроенного в класс приложения?
Каков жизненный цикл компонента, который был создан в классе Activity или Fragment?
Если мне нужен экземпляр singleton из компонента, нужно ли аннотировать компонент с помощью @Singleton или настраиваемой области видимости и построить этот компонент в классе приложения?
Если я создаю компонент в классе приложения, означает ли это, что все экземпляры объектов, доступные через этот компонент, будут экземпляром одного экземпляра во всем приложении до тех пор, пока приложение не будет убито или перезапущено?
У меня есть компонент с настраиваемой областью действия, скажем, @ActivityScope, и я создаю этот компонент в Activity, будут ли экземпляры объектов, инъецированные через этот компонент, автоматически уничтожаться после того, как вызывается эта функция onDestroy()?
Снова у меня есть компонент с настраиваемой областью действия, скажем, @ActivityScope, и я создаю этот компонент в ActivityA и ActivityB, будет ли ActivityA и ActivityB иметь одни и те же экземпляры объектов из этого компонента или у них будут свои собственные экземпляры одного и того же объекта