Flutter Engine预加载分析

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

预加载的好处:

加快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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值