У меня есть веб-приложение, использующее проверку подлинности Google Firebase, и недавно я заметил, что когда вы запускаете приложение в фоновом режиме на устройстве Android, а затем возвращаетесь к приложению, восстановление его занимает очень много времени sh соединение через веб-сокет с базой данных.
Я включил ведение журнала, и вот что произошло. Как видно из таймингов в журнале, для повторного подключения потребовалось почти 5 минут - почему?
logger.ts:80 [2020-07-11T10:26:54.376Z] @firebase/database: p:0: from server: {"r":80,"b":{"s":"ok","d":""}}
logger.ts:80 [2020-07-11T10:32:34.296Z] @firebase/database: c:0:0:0 Websocket connection was disconnected.
logger.ts:80 [2020-07-11T10:32:34.297Z] @firebase/database: c:0:0:0 WebSocket is closing itself
logger.ts:80 [2020-07-11T10:32:34.298Z] @firebase/database: c:0:0: Realtime connection lost.
logger.ts:80 [2020-07-11T10:32:34.300Z] @firebase/database: c:0:0: Closing realtime connection.
logger.ts:80 [2020-07-11T10:32:34.300Z] @firebase/database: c:0:0: Shutting down all connections
logger.ts:80 [2020-07-11T10:32:34.302Z] @firebase/database: p:0: data client disconnected
logger.ts:80 [2020-07-11T10:32:34.304Z] @firebase/database: p:0: Window isn't visible. Delaying reconnect.
logger.ts:80 [2020-07-11T10:32:34.305Z] @firebase/database: p:0: Trying to reconnect in 297779.38668296754ms
logger.ts:80 [2020-07-11T10:32:34.309Z] @firebase/database: 0: onDisconnectEvents
logger.ts:80 [2020-07-11T10:32:36.069Z] @firebase/database: p:0: Listen called for /NEWLADDER/2020 default
logger.ts:80 [2020-07-11T10:37:32.088Z] @firebase/database: p:0: Making a connection attempt
logger.ts:80 [2020-07-11T10:37:32.096Z] @firebase/database: getToken() completed. Creating connection.
logger.ts:80 [2020-07-11T10:37:32.099Z] @firebase/database: c:0:1: Connection created
logger.ts:80 [2020-07-11T10:37:32.105Z] @firebase/database: c:0:1:0 Websocket connecting to ********
logger.ts:80 [2020-07-11T10:37:32.764Z] @firebase/database: c:0:1:0 Websocket connected.
logger.ts:80 [2020-07-11T10:37:32.767Z] @firebase/database: c:0:1: Realtime connection established.
logger.ts:80 [2020-07-11T10:37:32.768Z] @firebase/database: p:0: connection ready