首页 > 解决方案 > Flutter引擎销毁问题

问题描述

我已将颤振添加到现有的 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()
            )
        }

当我破坏颤振引擎 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

标签: flutterflutter-add-to-app

解决方案


推荐阅读