Flutter 2.x 混合栈路由管理
Posted xiangzhihong8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter 2.x 混合栈路由管理相关的知识,希望对你有一定的参考价值。
一、背景
在Flutter开发中,除了热更新之外,Flutter 最受诟病的就是混合开发体验不好,而混合开发最重要的就是路由和组件生命周期的管理。
目前,Flutter 在跨平台方案一致性以及优秀的体验已经获得大多数开发者的一致称赞。但对于本身已有成熟的业务代码的项目来说,直接使用纯Flutter进行开发几乎是不现实的,所以更多的项目是在不改变更原有 App 业务的基础上,将 Flutter 作为子模块进行接入和开发,架构如下。
在混合开发中,就必然栈涉及到 Flutter 页面与原生页面的跳转。而在Flutter 2.0之前,官方的路由方案在多引擎下有着通信隔离、资源不共享、以及可能带来极大的内存损耗(体现在打开多个 Flutter 页面时内存异常增长)等缺陷。对于这种问题,业内出现了flutter_boost 、 mix_stack 、 flutter_thrio等混合路由方案,其原理都是采用单引擎复用方案,但这仍有不少痛点,主要体现在以下两点:
- 混合栈路由在使用时,仍有可能会产生内存异常;
- Flutter底层代码的修改,造成上层框架需要不断适配。
二、多引擎方案
在Flutter 2.0版本之前, Flutter 的控件渲染直接脱离了原生平台,也就是无论页面堆栈和渲染树都独立于平台运行,这固然给 Flutter 带来了较好的跨平台体验,但是也造成了在和原生平台混合时开发的一些问题。
研究过Fl
以上是关于Flutter 2.x 混合栈路由管理的主要内容,如果未能解决你的问题,请参考以下文章