diff --git a/ohos/src/main/ets/components/FlutterBoost.ets b/ohos/src/main/ets/components/FlutterBoost.ets index 7d8114d2f..93c33d13a 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 +} diff --git a/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets b/ohos/src/main/ets/components/plugin/FlutterBoostPlugin.ets index 00a07ab57..ab346c708 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 +}