flutter webview crash 问题

479 阅读1分钟

现象

Flutter界面H5界面 之间来回切换(切换10多次),导致 iOS App Crash, flutter 版本 3.22.0;

Crash 原因

WebViewPageState 一直没有释放, 通过 DevToolMemory 工具发现, webviewController 一直在持有 WebViewPage, github 上找到相应的 issue 连接 webviewController 不能主动释放

最后的代码链接,里面附上了释放的过程

image.png image.png

DevTool Memory 简单使用

  1. 点击白色的点,可以记录当前 App内存, 即 内存快照 Snapshots;
  2. 通过diff 可以比对内存变化, 后面有内存变化的Delta(减少或增加)的个数;
  3. 点击之后class, 下方可以看到持有的联调;

image.png

image.png

Demo 连接

github.com/demoYang/us…