ссылка деятельности в модели - PullRequest
0 голосов
/ 06 октября 2019

Я использую шаблон MVVM с firebase в качестве бэкэнда в своем приложении. Аутентификация Firebase Phone также присутствует и, как и положено, помещается в модель, которая является одиночной. Процесс входа в систему требует ссылки на действие для привязки обратного вызова, но создание ссылки на действие может привести к утечкам памяти, поскольку он находится в одноэлементном классе, и, как я сомневаюсь, это не очень хорошая практика. Должен ли я добавить эту логику в упражнение или есть лучший подход для этого?

Это метод, который требует ссылки на занятие:

void phoneLogin(String number) {

        PhoneAuthProvider.getInstance().verifyPhoneNumber(
                number,        // Phone number to verify
                1,                  // Timeout duration
                TimeUnit.MINUTES,   // Unit of timeout
---->           activty             // Activity (for callback binding)
                mCallbacks);        // OnVerificationStateChangedCallbacks


    }

1 Ответ

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

Это был хороший вызов. Я думаю, что лучший способ - это создать LiveData в вашем синглтон-классе. Таким образом, ваша активность может наблюдать это LiveData изменение, и при его изменении проверьте ваш телефон, а затем при обратном вызове вызовите метод класса singleton для проверки обработки обратного вызова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...