You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

4G网络下Firebase认证耗时久、Firestore查询无数据问题排查

Firebase认证与Firestore数据获取问题排查

问题现象

  • 4G移动数据环境下,Firebase认证耗时极长(最高达10分钟),需通过Manifest文件跳过应用内认证流程
  • Firebase Firestore无法获取任何数据

系统日志(与Firebase问题无关,可忽略)

2022-11-03 05:30:59.981 453-473/? W/TransactionTracing: Could not find layer id -1
2022-11-03 05:31:00.114 453-473/? W/TransactionTracing: Could not find layer handle 0x7f187c234bf0

代码错误排查

1. 缺失必要导入

当前代码缺少多个关键类的导入,会导致编译或运行异常:

  • FirebaseAuth核心类:com.google.firebase.auth.FirebaseAuth
  • 认证结果类:com.google.firebase.auth.AuthResult
  • 失败监听类:com.google.android.gms.tasks.OnFailureListener
  • 取消监听类:com.google.android.gms.tasks.OnCanceledListener
  • 页面跳转相关类:android.content.Intent

2. 认证代码语法错误

signInWithEmailAndPassword的监听注册存在语法错误,多余的右括号会导致编译失败:

// 错误写法:多了一个右括号
.addOnCompleteListener(new OnCompleteListener<AuthResult>()){
// 正确写法
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {

同理,addOnCanceledListener也存在相同的语法错误:

// 错误写法
.addOnCanceledListener(new OnCanceledListener()){
// 正确写法
.addOnCanceledListener(new OnCanceledListener() {

3. Firestore查询的致命空指针错误

Firestore查询成功后的处理逻辑中,集合未初始化就调用add方法,直接触发空指针异常,导致数据无法正常处理:

// 错误写法:集合为null,调用add会崩溃
AbstractCollection<MyProducts> popularModelList = null;
popularModelList.add(popularItem);
// 正确写法:初始化集合,且建议将集合设为类成员变量(避免每次循环重建丢失数据)
ArrayList<MyProducts> popularModelList = new ArrayList<>();

4. 认证逻辑细节问题

  • progressBar未看到控件绑定代码(findViewById),可能触发空指针
  • 登录成功时未隐藏progressBar,用户体验差
  • 错误提示信息无效:"Error"+ task.isSuccessful()只会显示Errorfalse,应改为显示异常详情:task.getException().getLocalizedMessage()

5. 4G环境认证慢的可能原因

代码层面无直接导致认证延迟的逻辑,建议排查:

  • Firebase项目的区域设置是否与用户所在区域接近
  • 设备4G网络的DNS解析是否正常
  • 确认Firebase SDK版本是否为最新稳定版

内容的提问来源于stack exchange,提问作者Me Compu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:40:38