Flutter-Android原生通过引擎调用Flutter界面
2022-05-10 本文已影响0人
阿博聊编程
配图来自网络,如侵必删
在原生项目当中嵌入Flutter
界面,如果是只有一个模块的话,我们们可以通过Flutter
引擎做缓存,达到让Flutter
界面秒开的效果。分享一下,我学习到的使用方法。
AndroidManifest.xml
第一步是需要在AndroidManifest.xml
当中注册我们的FlutterActivity
界面:
<application>
...
<activity
android:name="io.flutter.embedding.android.FlutterActivity"/>
</application>
Application
在Application
需要初始化FlutterEngine(Flutter的引擎)
,这一步是非常重要的。
public class App extends Application {
private FlutterEngine flutterEngine;
@Override
public void onCreate() {
super.onCreate();
//Flutter引擎
flutterEngine = new FlutterEngine(this);
// 页面做缓存
flutterEngine.getNavigationChannel().setInitialRoute("image_page");
//通过engine_id唯一标识来缓存
lutterEngine.getDartExecutor().executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault());
FlutterEngineCache.getInstance().put("engine_id", fe);
}
/**
* onTerminate()当App销毁时执行
*/
@Override
public void onTerminate() {
//销毁flutter引擎
flutterEngine.destroy();
super.onTerminate();
}
}
页面调用
这里展示的是代码当中的调用,非常的简单,代码如下:
startActivity(FlutterActivity.withNewEngine().initialRoute("image_page").build(this));
这是一个简单的Android原生
跳转到Flutter
界面的代码,希望对一样是Flutter
初学的小伙伴有所帮助。