首页 > 解决方案 > Flutter Provider:寿命和预期用途

问题描述

我有一个应用程序,它有多个屏幕,显示用户当前的 XP 和其他游戏内成就。起初我使用的是静态变量(如果它们被操作系统擦除,它将从 Firebase 重新更新),然后我切换到在屏幕之间传递 User 对象,然后我终于意识到还有许多其他问题,比如Navigator上的数据没有更新.pop()和类似的。

然后我切换到使用Provider Package。它工作得很好,虽然我确信我不理解 Provider 附带的一半代码。

现在我变得偏执,如果这是很好地使用提供者,提供者类的生命周期是多少?我将MyApp包装在< UserData > 的ChangeNotifierProvider中,并打算在 VM 终止之前使用其中的数据 - 数据会在提供程序类中保留那么长时间吗?

简单的代码示例:

Class UserData extends ChangeNotifier {
    String _UID;
    int _highscore;
    
    void updateHighscore(int i) {
        _highscore += i;
        notifyListeners();
    }
    
    String getUserID() {
        return _UID;
    }

}

谢谢你。

标签: flutterdartflutter-provider

解决方案


我很确定数据不会像放射性衰变那样慢慢消失。因此,只要您将正确的事情保持在范围内,就可以了。


推荐阅读