颤动引擎毁坏问题

Rah*_*var 7 flutter flutter-add-to-app

我已将颤振添加到现有的 Android 应用程序中。使用预热颤振引擎。

var flutterEngine = FlutterEngineCache.getInstance().get(Constants.FLUTTER_ENGINE)

        if (flutterEngine == null) {
            flutterEngine = FlutterEngine(this)
            FlutterEngineCache.getInstance().put(Constants.FLUTTER_ENGINE, flutterEngine)
            flutterEngine.navigationChannel.setInitialRoute(
                "route1"
            )
            flutterEngine.dartExecutor.executeDartEntrypoint(
                DartExecutor.DartEntrypoint.createDefault()
            )
        }
Run Code Online (Sandbox Code Playgroud)

当我销毁颤振引擎时, FlutterEngineCache.getInstance().get(Constants.FLUTTER_ENGINE)?.destroy() 出现以下错误。

java.lang.RuntimeException: Unable to destroy activity: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.

  Caused by: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.
        at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:222)
        at io.flutter.embedding.engine.FlutterJNI.onSurfaceDestroyed(FlutterJNI.java:315)
        at io.flutter.embedding.engine.renderer.FlutterRenderer.stopRenderingToSurface(FlutterRenderer.java:207)
        at io.flutter.embedding.android.FlutterView.detachFromFlutterEngine(FlutterView.java:795)
        at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDestroyView(FlutterActivityAndFragmentDelegate.java:442)
        at
Run Code Online (Sandbox Code Playgroud)