HarmonyOS flutter多引擎下platformview退出时没有销毁?

在flutter多引擎下,打开一个flutter页面(新建一个flutter引擎),该页面有一个platformview,随后退出该页面(同时销毁flutter引擎),此时Platformview没有被销毁。

复现步骤:

1、编译demo中的flutter(web\_viewmodule)工程(flutter build har --release);

2、将har拷贝到demo中的HarmonyOS原生工程(fluttermoduletest1);

3、运行项目,打开为一个webview加载了知乎网页;

5、点击顶部的open next flutter page按钮,打开一个新的flutter页面(新建了一个flutter引擎);

6、退出这个flutter页面回到原来的页面;

7、预期新页面中的platformview应该被销毁掉,platformview的dispose方法被调用,命令行中输出wyy\_test webview dispose,实际没有输出wyy\_test webview dispose。

阅读 575
1 个回答

dispose接口为PlatformView的抽象方法,组件未与页面生命周期绑定时,需要手动调用触发flutterEngine.getPlatformViewsController()?.dispose()方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进