Android 14 首次获取速度慢得令人痛苦

问题描述 投票:0回答:1

早上好, 我有一个正在生产的 React Native 应用程序,在美国存在 Android 14 数据连接问题。

该应用程序可以在欧洲以及欧洲网络提供商处顺利运行,但在美国(Verizon 和 AT&T)则不然。

该应用程序在 Wi-Fi 和 VPN 上运行良好,但使用数据连接时,第一个 api 调用需要 2 分钟以上才能获得响应,而在 wi-fi 或数据连接 + VPN 上只需要 1 秒。

我已经更新了所有内容,问题仍然存在

如果需要,我可以将代码粘贴到此处,但我没有这样做,因为它只影响使用 Android 14 和数据连接的美国用户,我怀疑它与我的代码并不严格相关

欢迎任何想法

我尝试重现该问题,但无法重现,它似乎仅影响在美国使用数据连接的 Android 14 用户

我已经尝试升级所有 RN 包、Expo 包和 axios,但我仍然不知道出了什么问题

我知道这些信息并不多,我没有太多其他信息 - 只有用户的视频和时间戳来证明初始 api 获取不会立即触发

android react-native expo data-connections android-14
1个回答
0
投票

我能够解决这个问题,我希望发布这个答案可以帮助其他人。 此问题实际上与启用 IPv4 和 IPv6 的网络的已知问题有关。就我而言,我们的服务器/网络未针对 IPv6 配置,但 WAF ,并且使用 Android 14 和 Verizon 或 AT&T 的用户 100% 都会遇到此问题。

我们正在尝试对基础设施上的 IPv6 路由进行排序,但与此同时,以下解决方法似乎对我们有用:

将以下依赖项添加到android/app/build.gradle以强制使用 okhttp 5.0.0-alpha.12

  dependencies {
        // others dependencies 
  
        implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.12'
        implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.12'
        implementation 'com.squareup.okhttp3:okhttp-urlconnection:5.0.0-alpha.12'
  }

React Native、okHttp 和 Expo github 上有多个线程,在您意识到这是一个 IPv6 相关问题之前,它们并不容易找到。我已经在此thread中发布了一个答案,如果您想查看的话,它还链接了其他问题。

如果您不确定您使用的服务是否支持IPv6连接,您可以检查这里;如果您同时看到 A 和 AAAA 记录,那么就是这样。

例如

干杯

© www.soinside.com 2019 - 2024. All rights reserved.