From c67ed20bcabc8b6352a8a853811c5fbe893bf8d4 Mon Sep 17 00:00:00 2001 From: he15his Date: Mon, 4 Nov 2024 17:38:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0unsetFlutterBoost?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ohos/src/main/ets/components/FlutterBoost.ets | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ohos/src/main/ets/components/FlutterBoost.ets b/ohos/src/main/ets/components/FlutterBoost.ets index 7d8114d2..93c33d13 100644 --- a/ohos/src/main/ets/components/FlutterBoost.ets +++ b/ohos/src/main/ets/components/FlutterBoost.ets @@ -145,6 +145,17 @@ export class FlutterBoost { }); } + public async unsetFlutterBoost() { + this.plugin?.setDelegate(null); + this.plugin = null; + this.delegate = null; + + FlutterEngineCache.getInstance().remove(FlutterBoost.ENGINE_ID); + // 暂时不调用,会crash + // this.flutterEngine?.destroy(); + this.flutterEngine = null; + } + /** * 打开页面 * @param pageName 页面名称 @@ -226,4 +237,4 @@ export class FlutterBoost { public isTopContainer(container: FlutterViewContainer): boolean { return FlutterContainerManager.getInstance().getTopContainer() == container; } -} \ No newline at end of file +} From 93f311962026a85c208b88a7a3ce329b8b989d00 Mon Sep 17 00:00:00 2001 From: he15his Date: Mon, 11 Nov 2024 11:02:27 +0800 Subject: [PATCH 2/2] Update FlutterBoostPlugin.ets --- ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets b/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets index 00a07ab5..ab346c70 100644 --- a/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets +++ b/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets @@ -203,7 +203,7 @@ export class FlutterBoostPlugin implements FlutterPlugin, MethodCallHandler, Nat } // public method - public setDelegate(delegate: FlutterBoostDelegate) { + public setDelegate(delegate: FlutterBoostDelegate | null) { this.delegate = delegate; } @@ -485,4 +485,4 @@ export class FlutterBoostPlugin implements FlutterPlugin, MethodCallHandler, Nat } return value; } -} \ No newline at end of file +}