相比这个问题很多开发着都已经遇到了,头疼了很久了吧。我也是,网上搜到各种方法,试了还是不行。下面我举一下场景:
跳转场景:
页面A --> 页面B --> 页面C —> 页面D
从上面简单都例子,我很悲催的告诉大家不管我从哪个页面跳哪个页面,从B->C 或者C->D页面,页面A都会被重新rebuild
,不管是从C->D
,或者是D-C
页面都会刷新,不管是销毁其他页面还是打开新都页面,页面A都会刷新。
好了,上面就是我所遇到的情况,这个情况从开发困扰到现在,一直到现在。
解决方法:
方法一:
升级到1.17版本,据说这个版本已经将这个问题解决了,然而因为项目使用插件比较多,比较庞大,升级难度又比较大,索性放弃了这个方法。
方法二:
GitHub给出了方法,主要方法是修改了几个文件,将SDK相关到部分文件给替换掉即可。链接:https://github.com/flutter/flutter/pull/48900/files
一共有7个文件改变,相应到位置如下: