首页 > 解决方案 > 恢复后显示主屏幕的 Flutter 应用程序

问题描述

我正在开发一个颤振应用程序。在应用程序内部,一个屏幕包含要由用户填写的表单。但是在填写字段时,如果应用程序最小化并在一分钟(大约)后打开,我将无法看到相同的屏幕。而是显示主屏幕的应用程序,我正在丢失填充的数据。是否有任何解决方案可以让应用在暂停和显示同一屏幕之前记住屏幕,而不会丢失恢复数据?提前致谢。

标签: androidflutter

解决方案


根据Android文档

在这种情况下,您的应用程序被放置在后台,系统会尽最大努力将您的应用程序进程保留在内存中。但是,当用户离开与其他应用程序交互时,系统可能会破坏应用程序进程。在这种情况下,活动实例连同其中存储的任何状态一起被销毁。当用户重新启动应用程序时,Activity 意外地处于干净状态。要了解有关进程死亡的更多信息,请参阅进程和应用程序生命周期

因此,最“安全”的方法是将您的应用程序状态存储在 JSON 文件中,并在应用程序启动时从 JSON 文件中恢复它。如果应用程序正常停止,则将状态保留在 JSON 文件中,如果不应该存储任何状态,则删除 JSON 文件。


推荐阅读