相比這個問題很多開發着都已經遇到了,頭疼了很久了吧。我也是,網上搜到各種方法,試了還是不行。下面我舉一下場景:
跳轉場景:
頁面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個文件改變,相應到位置如下:
以上就是整個修改過程。如果有不懂的可以添加個人微信一塊學習(備註博客):
個人公衆號,裏面有個人收集的資源,可以查看歷史來獲取。