真是一个大坑啊,根源在 dart SDK 部分,SSL 证书验证的网络请求在主线程请求的...有毒

https://dart-review.googlesource.com/c/sdk/+/165520

另外一提,这个问题只出现在 iOS,而 Android 不受影响,主要是因为在 SSL 证书验证时,iOS 有一步 OSCP 验证,但 Google 对 OSCP 方案不满意 https://blog.wirelessmoves.com/2015/03/ocsp-stapling-and-android-that-doesnt-care.html ,然后我们证书用的是 Let's Encript 的,然后它的 OSCP 服务器被墙了...

具体讨论可以参考

https://jhuo.ca/post/ocsp-stapling-letsencrypt/
https://github.com/dart-lang/sdk/issues/41519
https://github.com/flutterchina/dio/issues/703
https://github.com/flutterchina/dio/issues/786

解决方法:

  1. 换证书
  2. 等 flutter/dart 的升级(已经解决但还没 merge 发版到 stable)或者自行升级到 master

7 条评论

          1. 2.等 flutter/dart 的升级(已经解决但还没 merge 发版到 stable)或者自行升级到 master

            这句话的意思是当前最新的master解决了卡顿的问题? 我换过去好像还是会因为这个原因卡顿。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据