【问题标题】:Android Flutter launch custom activity with cached engineAndroid Flutter 使用缓存引擎启动自定义活动
【发布时间】:2020-10-06 04:59:25
【问题描述】:

我正在将 FlutterActivity 集成到原生 Android 应用。 我有CustomFlutterActivity,它继承自FlutterActivity,我想使用缓存的FlutterEngine 启动它。

这是文档中有关如何执行此操作的代码:

startActivity(
      FlutterActivity
        .withNewEngine()
        .build(currentActivity)
      );

我想要实现的是使用我的缓存引擎启动我的CustomFlutterActivity(而不是文档中所说的通用FlutterActivity

【问题讨论】:

    标签: android flutter kotlin caching flutter-engine


    【解决方案1】:

    在您的CustomFlutterActivity 中,我认为它是从FlutterActivity 派生的,您可以覆盖getCachedEngineId 并提供您之前根据文档缓存的my_engine_id,即:

    FlutterEngineCache
          .getInstance()
          .put("my_engine_id", flutterEngine);
    

    因此:

    class CustomFlutterActivity: FlutterActivity() {
        override fun getCachedEngineId(): String? {
            return "my_engine_id"
        }
    }
    

    docs

    【讨论】:

      【解决方案2】:

      您可以覆盖provideFlutterEngine 并从缓存中返回FlutterEngine

      class CustomFlutterActivity : FlutterActivity() {
          override fun provideFlutterEngine(context: Context): FlutterEngine? {
              return FlutterEngineCache.getInstance().get("flutter_engine")
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2020-09-29
        • 1970-01-01
        • 1970-01-01
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-01
        • 1970-01-01
        相关资源
        最近更新 更多