预加载的好处:
加快Flutter页面的打开速度。
预加载的原因:
因为每个打开的Flutter页面,默认情况下都需要创建一个Flutter Engine,这个初始化是比较耗时的,所以可以考虑提前初始化一个Flutter Engine并保存起来,后续可以省去初始化的时间而直接使用。
预加载的实现:
以android端为例,ios基本类似
//在应用初始化时,执行如下代码,创建一个flutter engine,并以一个key值保存起来。
// Instantiate a FlutterEngine.
flutterEngine = FlutterEngine(this)
// Start executing Dart code to pre-warm the FlutterEngine.
flutterEngine.dartExecutor.executeDartEntrypoint(
DartExecutor.DartEntrypoint.createDefault()
)
// Cache the FlutterEngine to be used by FlutterActivity.
FlutterEngineCache
.getInstance()
.put("my_engine_id", flutterEngine)
}
当需要打开FlutterActivity时,通过如下方法进行调用
startActivity(
FlutterActivity
.withCachedEngine("my_engine_id")
.build(this)
)
如果不使用预加载的flutter engine,调用方式如下:
startActivity(
FlutterActivi

本文探讨了Flutter预加载技术,旨在提升页面打开速度。通过预先初始化FlutterEngine并缓存,避免了每次打开页面时的重复初始化过程,显著提高了性能。然而,预加载存在限制,如固定路由需求,不适合所有场景。
最低0.47元/天 解锁文章
1270

被折叠的 条评论
为什么被折叠?



