转载请注明,原文链接:juejin.cn/post/721580…
前言
上篇文章 Flutter WebView 小记 (白屏、闪退、内存没有释放),在后续发现其实没有完全解决:
Flutter WebView 加载巨大的长图(大概 1.7W 长)闪退
设置 displayWithHybridComposition 为 true 时,跨页面跳转后WebView页面留存或导致闪烁的问题
这篇文章将大致记录解决方案思路
前置条件
-
使用 FlutterBoost 混编版本:4.2.1
-
Flutter 版本:Flutter 3.7.2 • channel stable
-
Dart版本: Dart 2.19.2 • DevTools 2.20.1
-
Flutter Pub:
- webview_flutter: ^4.0.7
- webview_flutter_android: ^3.4.3
- webview_flutter_wkwebview: ^3.2.2
- webview_flutter_platform_interface: ^2.1.0
问题和解决方案
Flutter WebView 加载富文本中含巨长的图(大概 1.7W 长) Android 机型闪退
- 解决方案: displayWithHybridComposition 设为 true
跨页面跳转后WebView页面留存或导致闪烁的问题
- 解决方案: 在页面隐藏和显示的同时,同步控制WebView的隐藏和显示
题外话:这里使用的是 FlutterBoost ,其实如果可以本人其实更愿意使用 flutter_hook 的 useOnAppLifecycleStateChange ,奈何 FlutterBoost 使用它是无效的。
小结
大家如果有细心看过我的前后两篇文章或许会发现“前置条件”的库的版本都有所提升,是的!Flutter的库更新就是这么快,所以解决问题不妨优先看一下使用的库是否有相关的issue或者更新,当然本文记录的问题并不是完全靠升级来解决的。