【发布时间】:2019-10-06 16:25:33
【问题描述】:
我在我的应用程序中使用 MVVM 模式和 firebase 作为后端。 Firebase Phone 身份验证也存在,应该将其放置在单例模型中。登录过程需要回调绑定的活动引用,但创建对活动的引用可能会导致内存泄漏,因为它位于单例类中,而且我怀疑这通常不是一个好习惯。我应该把这个逻辑放在活动中还是有更好的方法?
这就是需要activity引用的方法:
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
}
【问题讨论】:
-
“它被放置在一个单例的模型中” - 为什么你的模型是一个单例?
-
因为这是 firebase 的发展方向。我不应该这样做以防止多个连接进入火力基地吗?
-
您可以查看我实施了Firebase auth 以及ViewModel 和Repository 的回购协议。
-
使用 Google 的电话号码不进行身份验证,但我认为它可以帮助您理解。
-
Alex 我在研究 firebase 和 mvvm 时已经浏览了你的 repo,它确实对总体思路有所帮助,谢谢