我将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
}
答案 0 :(得分:0)
那是一个很好的挑战。我认为最好的方法是在单例类中创建一个LiveData
。这样您的活动就可以观察到LiveData
的这种变化,并且在变化的过程中,请验证您的电话,然后在回调中调用您的singleton类方法以验证回调处理