You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

应用重启后SharedPreferences值被清空问题技术咨询

问题原因及解决办法

问题原因

你代码里的SharedPreferences.setMockInitialValues({})是测试专用API,作用是为SharedPreferences设置模拟的初始空值。如果在正式运行的代码中保留这个调用,每次应用启动执行到这里时,会直接重置SharedPreferences的存储内容为空,导致之前保存的mobileNumber、isAuthenticated等数据被清空,重启后自然读不到之前的值。

解决办法

直接移除SharedPreferences.setMockInitialValues({})这行代码即可,正式环境下不需要用这个测试方法。修改后的代码如下:

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString("mobileNumber", mobileController.text);
prefs.setString('isAuthenticated', 'true');
var login = prefs.getString("isAuthenticated");

这样修改后,SharedPreferences会正常读写设备上的持久化存储,重启应用后之前保存的值也不会丢失。

内容的提问来源于stack exchange,提问作者pranali kumbhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:45:12