在社区也看到了很多人提问存取缓存的问题,在我这也遇见了该问题:
1:在IOS端,目前发现的机型(Iphone X 和Iphone7),一周左右时间未对我们的小程序做任何操作,也没通过系统或者其他软件清理缓存操作,在执行 wx.getStorageSync 时候,取本地的Storage没取到,为空的问题。
简单代码展示:
在onShow时执行
try { var value = wx.getStorageSync( 'cookie_key' ) if (value) { firstcookie_key = value; } else { firstcookie_key = '本地COOKIE_KEY为空' ; } } catch (e) { } |
因为之前就遇到了该问题,所以onShow时取缓存,然后请求接口传给后端做日志,发现其实是没有取到值的。
2:在安卓端暂未发现该问题,做过部分机型测试,在安卓一周甚至更长时间打开我们的小程序,能够取到值,暂时排除是程序清空Storage的可能。
如果有官方大大看到希望能告诉我大概是什么原因导致,是程序自身问题还是小程序的机制存在这个问题(系统自动删除是指哪个方面?),也希望有知道的朋友能告知一下,比较着急(因为我们需要理论上支持用户永久登录状态,每次出现这种情况都会扣罚金当做办公室基金,上次出现已经扣了俺200了,现在希望能快速解决该问题)。
谢谢!!!
你好,请参考:https://developers.weixin.qq.com/miniprogram/dev/api/data.html
不会。就存储了一个字段,基本保持在几十上百B,不超过1KB。
仔细阅读备注啊,空间不足会清理最近最久未使用的小程序的本地缓存。跟你存了多少没有关系。别的小程序占了内存而你的是最久未用的,就先清空你的缓存
请问楼主这个问题解决了吗?
小程序没维护了,不过我发现了 确实是长时间未打开小程序导致的(大概一周左右的时间,小程序自动会清缓存的)
恩 谢谢