Ionic/Firebase应用程序在后台建立连接的速度较慢

Ionic/Firebase应用程序在后台建立连接的速度较慢,firebase,cordova,ionic-framework,firebase-realtime-database,ionic3,Firebase,Cordova,Ionic Framework,Firebase Realtime Database,Ionic3,我有一个用Firebase和Angular构建的Ionic应用程序 我遇到了一个问题,当用户在应用空闲后返回应用程序时,他们向下滑动以刷新提要,有时需要30秒才能加载 大约70%的刷新时间是在返回应用程序后立即刷新的,有时我会在8小时后回来,向下滑动刷新,这实际上是即时的 然而,30%的时间需要很长时间。大概30-40秒。它长得可笑,而且没有明显的原因 我想知道是否有人知道这里可能有什么问题。。如果我不得不猜测的话,我会说这是因为连接到Firebase需要很长时间,但我不确定如何修复它?它似乎也

我有一个用Firebase和Angular构建的Ionic应用程序

我遇到了一个问题,当用户在应用空闲后返回应用程序时,他们向下滑动以刷新提要,有时需要30秒才能加载

大约70%的刷新时间是在返回应用程序后立即刷新的,有时我会在8小时后回来,向下滑动刷新,这实际上是即时的

然而,30%的时间需要很长时间。大概30-40秒。它长得可笑,而且没有明显的原因

我想知道是否有人知道这里可能有什么问题。。如果我不得不猜测的话,我会说这是因为连接到Firebase需要很长时间,但我不确定如何修复它?它似乎也不是基于连接

我的向下滑动代码:

  doRefresh(refresher) {
    this.goToNew(true);
    refresher.complete();
  }
这个.goToNew()
是:

  this.database.database.ref('/posts/'+this.feedId)
  .orderByChild('created')
  .limitToLast(10)
  .once('value', (snapshot) => {
    snapshot.forEach(child => {
        this.feedCounter.push(child.val());
        this.postFeed.push(child.val());
        this.postFeed.sort(function(a,b){
          return +new Date(b.created) - +new Date(a.created);
        });
        if(this.feedCounter.length >= 10) {
          this.firstRun = false;
        }
        return false;
    });
我不知道是什么导致了这个问题。。。有什么想法吗


谢谢大家!

发现它实际上是一个Firebase身份验证错误

从后台返回后,它无法检查用户的身份验证,因此只有在平台准备就绪后,我的修复程序才会运行
onAuthStateChanged
。使firebase连接立即生效

this.platform.ready().then(() => {
    this.afAuth.auth.onAuthStateChanged((user) => {
       //code here
 });
});

希望这对某些人有所帮助,因为这是一个很奇怪的问题。

我们无法解释为什么您的测试连接速度慢。但是,如果您愿意,输出可能会给您一些信息继续。@FrankvanPuffelen我找到了解决方案。。我想你可能有兴趣看看我是如何解决这个问题的:)真有趣,简。因此,在Ionic应用程序从后台恢复后,您需要重新连接身份验证状态侦听器?谢谢,希望这会有所帮助。