首页 > 解决方案 > 什么时候应该执行 dispose() 方法?

问题描述

什么时候应该执行 dispose() 方法?

例如,有两个小部件:

小部件 1 有 dispose() 方法,因为这个小部件初始化了 admob add,所以我们应该在那里实现 dispose

_bannerAd?.dispose();

现在,让我们想象一个情况。我从 W1 到 W2,然后回到 W1。不应该执行 dispose() 吗?我已经对这样的导航进行了建模,并且没有执行 dispose()。

然后我按下back模拟器上的按钮(返回到 W2),现在 dispose 已执行(!),为什么在这种情况下执行它而不是在我们制作navigator push小部件 2 时执行?

在此处输入图像描述

标签: flutterfirebase-admob

解决方案


这是因为,.pop()将从堆栈中删除不会的路由,从堆栈中.push()删除本质上意味着处置。(当你回来 W2 时会发生流行)


推荐阅读