【问题标题】:Flutter Provider: Lifespan and Intended UseFlutter Provider:寿命和预期用途
【发布时间】:2021-03-05 12:16:52
【问题描述】:

我有一个应用程序,它有多个屏幕,显示用户当前的 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;
    }

}

谢谢。

【问题讨论】:

    标签: flutter dart flutter-provider


    【解决方案1】:

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

    【讨论】:

    • 能否请您扩展一下“将正确的事情保持在范围内”? Android 会清理您的静态变量,因此数据有时会消失。
    猜你喜欢
    • 2018-08-28
    • 2015-11-18
    • 2023-04-07
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多