Dagger каждый раз создает новый экземпляр из класса Singleton - PullRequest
0 голосов
/ 18 октября 2019

Допустим, у меня есть класс Singleton, который вводится с помощью кинжала

@Singleton
class SingletonClass {

    @Inject
    lateinit var newInstanceEveryTime: NewInstanceEveryTime

    fun getNewInstance(): NewInstanceEveryTime {
        return newInstanceEveryTime
    }
}

всякий раз, когда я вызываю метод getNewInstance() с помощью SingletonClass.getNewInstance (), мне нужно каждый раз получать новый экземпляр, ноя знаю, что он не будет создавать экземпляр каждый раз, может кто-нибудь помочь мне, как я могу добиться этого с помощью синглтон-класса с помощью кинжала.

1 Ответ

0 голосов
/ 18 октября 2019

Если вы создадите этот класс таким образом, он будет добавляться как новый экземпляр каждый раз, когда это необходимо:

class NewInstanceEveryTime @Inject constructor() {}

или вы можете сделать так:

@Singleton
class SingletonClass {

    fun getNewInstance() = NewInstanceEveryTime()
}

Но каков ваш вариант использования? Зачем вам такой фабричный метод?

...